У меня директор в компании, которому я подчиняюсь, любит работать с vim, причем это девушка и она прекрасно пишет исходный код C# в этом редакторе из под Windows. И это не смотря на то, что для C# на много лучше подходит Visual Studio.
Тут есть какой-то смысл, потому что с помощью vim можно редактировать файлы имея доступ к удаленной системе только из командной строки, а под Windows это легко достигается, если установить cygwin.
Лично я знаю vim не так уж и профессионально, но достаточно для того, чтобы пользоваться этим редактором. Я не помню всех команд и пользуюсь только некоторыми, которые мне нужны в ежедневной работе. Хотя если честно, то я не пользуюсь им ежедневно. Только по мере необходимости. Просто я не на столько повернут, чтобы писать код в vim, но если надо, то смогу без проблем. Я больше использую этот редактор для работы с конфигурационными файлами и для написания shell скриптов. В общем, для системных нужд.
На первый взгляд текстовый редактор vim кажется очень сложным, но это только кажется. Запомнив всего несколько команд, которые мы рассмотрим в этой статье вы будете себя чувствовать вполне комфортно.
Прелесть vim в том, что он есть для разных платформ и я им пользуюсь как в Linux, так и в MacOS X.
Для запуска vim запустите терминал и наберите в нем команду vim для создания нового текстового файла. Если вы хотите открыть уже существующий файл, то его можно указать в качестве параметра:
vim test.txt
Можно указывать полный путь к файлу, а можно ограничиться только именем, если файл находиться в той же директории. Команда выше откроет для редактирования файл test.txt.
Тут нужно сразу же отметить, что если файл test.txt не существует, то не будет никакой ошибки, vim все равно запуститься и сделает вид, что он открыл test.txt. Если же вы попросите vim сохранить текст, то в этот момент будет создан файл с указанным именем. Если же вы просто выйдите из редактора без сохранения, то файл создан не будет.
У vim есть два режима работы – командный и редактирование текста. По умолчанию редактор открывается в режиме команд. Все, что вы вводите с клавиатуры будет восприниматься как команды, а не как желание что-то напечатать в файле.
Чтобы перейти в режим редактирования текста, нужно нажать клавишу i (наверно от слова insert). Курсор измениться на курсор редактирования и внизу окна (наверно правильнее сказать консоли) появиться надпись:
-- INSERT --
Теперь все, что вы будете вводить, будет отображаться на экране и попадать в текстовый файл в памяти программы. Именно в памяти, в реальный файл данные в реальном времени записываться не будут. Чтобы записать их, нужно вызвать команду сохранения. В принципе, так работают все текстовые редакторы.
Рекомендую читать этот манул и одновременно пробовать команды, которые мы будем описывать, тогда вы сможете быстрее запомнить их. Попробуйте нажать клавишу i и набрать немного текста. Для возврата в командный режим нужно нажать кнопку ESC. Надпись внизу консоли исчезнет.
Небольшое отступление. Все команды я буду указывать в квадратных скобках: [команда]. Сами квадратные скобки нажимать не нужно, они здесь только для выделения. Вам нужно только нажать клавиши, которые указаны внутри скобок. Например, [i] говорит о том, что нужно нажать клавишу i.
Команды vim я бы разделил на два типа (не знаю правильно ли это, но мне кажется так будет удобнее) – работы с текстом и работы с редактором. Вторые начинаются с символа двоеточия.
Чтобы записать изменения, нужно выполнить команду [:w]. Прямо так и нужно нажимать: сначала двоеточие, и потом клавишу [w]. Если вы создали новый файл без указания имени, то сохранение будет невозможным и редактор покажет ошибку. Чтобы указать имя файла при сохранении выполняем команду: [:w filename.txt]. Здесь filename.txt – это имя файла.
Сохранив изменения можно выйти из редактора, нажав :q (скорей всего от слова quit). Для некоторых случаев есть удобные сокращения, которые выполняют сразу две операции. Например, следующая команды говорит vim, что нужно сохранить изменения и выйти [:wq]. Если после этого через пробел указать еще и имя файла, то данные будут сохранены в файл с этим именем и vim закроется.
Если не нужно сохранять изменения, то выполняем команду [q!].
В режиме редактирования по файлу можно перемещаться с помощью стрелок, а в режиме команд можно использовать стрелки или клавиши [h], [j], [k] или [l]. Нет особого смысла запоминать эти клавиши, потому что большинство кажется пользуется стрелками, они удобнее.
В командном режиме для перемещения по тексту лучше запомнить клавиши:
[w] – переместиться в начало следующего слова. Чтобы проще было запомнить, воспринимайте это как первую букву слова word, то есть перемещение по словам.
[e] – переместиться в конец текущего слова. Тут проще запомнить по слову end (конец).
[b] – переместиться в начало слова – begin.
[0] – переместиться в начало строки.
[$] – переместиться в конец строки.
[g][g] – переместиться в начало файла
[G] – в конец файла
X[G] – сначала вводите номер строки, а потом нажимаете [G] чтобы переместиться на конкретную строку в файле.
В vim очень удобно вводить повторяющиеся символы. Например, если вы хотите напечатать длинную строку из знаков тире из 80 символов, то можно набрать на клавиатуре последовательно [30] [i] [-] [ESC]. Последовательность нужно конечно же начинать нажимать из командного режима. В принципе, все команды, которые мы рассматриваем выполняются в командном режиме, потому что в режиме редактирования все, что вы вводите будет просто печататься на экране.
Итак, разберем команду выше. Сначала вы вводите число повторений, потом входите в режим редактирования, вводите текст, который нужно повторить несколько раз и нажимаете esc для выхода из режима редактирования. Повторять можно не просто один символ, а целые слова. Например, так можно ввести 5 раз подняд слово hello:
[5] [i] [hello] [ESC]
Такие задачи встречаются очень редка, чаще все же нужно рисовать полоски или слеши для комментариев.
Для поиска по тексту вводим слеш [/], потом печатаем текст, который нужно найти и нажимаем enter.
Еще некоторые интересные команды:
[o] – вставить новую строку под курсором и сразу же перейти в режим редактирования.
[d] – удалить текущий символ под курсором из режима команд
Внимание!!! Если ты копируешь эту статью себе на сайт, то оставляй ссылку непосредственно на эту страницу. Спасибо за понимание
Коротко и ясно! :wq
Спасибо, для начала полезно.
PS Очень много грамматических ошибок (тся/ться, редка) :)