Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Назад Просто о Vim Вперед

Vim : Первые шаги

Запуск Vim

Первый делом, конечно, нужно узнать, как запустить Vim.

Графическая версия

Windows: Нажмите Start → Programs → Vim 7 → gVim.

Mac OS X: Нажмите Finder → Applications → MacVim.

Linux/BSD: Нажмите Applications → Accessories → GVim Text Editor, или нажмите Alt+F2, наберите gvim и нажмите клавишу enter.

Терминальная версия

Windows: Нажмите Start → Run, наберите vim и нажмите клавишу enter.

Mac OS X: Нажмите Finder → Applications → Utilities → Terminal, наберите vim и нажмите клавишу enter.

Linux/BSD: Нажмите Applications → Accessories → Terminal, или нажмите Alt+F2, наберите konsole/gnome-terminal и нажмите клавишу enter. Затем, наберите vim и нажмите клавишу enter.

Отныне, когда мы говорим «открытыть Vim», воспользуйтесь одним из методов, упомянутых выше.

Примечание: Когда вы запустите Vim, вы увидите, что вы не можете сразу начать печатать текст. Не паникуйте, все будет объяснено через некоторое время.

Графическая или терминальная?

Графическая версия Vim имеет меню в верхней части приложения, а также различные опции, доступные с помощью мыши, но учтите, что это совершенно необязательно. Вы можете получить доступ ко всем функциям Vim только с помощью клавиатуры.

Почему это важно? Потому что работа человека будет намного эффективна, если использовать только клавиатуру, чем при использовании мыши, в этом случае человек гораздо быстрее набирает текст и делает меньше ошибок.

Это происходит потому, что нет лишних движений руки, необходимых для переключения между клавиатурой и мышью, и нет переключения контекста в сознании человека при переносе руки между клавиатурой и мышью. Нужно взять за привычку использовать клавиатуру как можно больше, Вы экономите ценное движения руки.

Конечно, это субъективно. Некоторые люди предпочитают мышь, а некоторые предпочитают клавиатуру. Я рекомендую вам использовать клавиатуру как можно больше, чтобы узнать реальную мощь Vim.

Введение в режимы

Представьте себе, что в субботу вечером вы устали от телепрограмм. Вы хотите посмотреть старый любимый фильм. Вы переключаете телевизор в режим видео так, чтобы он показывал то, что отображает DVD-плеер, вместо кабельных каналов. Обратите внимание, что телевидение по-прежнему транслирует видео, но вы переключаете контекст на просмотр DVD или на транслируемые телепередачи.

Аналогично, Vim имеет режимы. Например, Vim имеет режим для ввода текста, режим выполнения команд и т.д. Все они связаны основной целью редактирования текста, но вы переключаете контекст в зависимости от того, нужно просто набрать текст, или вы хотите выполнить некоторые команды над текстом.

Разве это не просто?

Традиционно концепция режимов является наиболее часто приводимой причиной начинающих о том, почему они считают Vim "запутанным". Я сравниваю его с ездой на велосипеде — стоит вам проехаться несколько раз и, как только у вас начнет получаться, вы будете удивляться, какая суета была раньше.

Так почему же в Vim есть режимы? Чтобы сделать все как можно проще, даже если их использование может на первый взгляд показаться «странным».

Что я подразумеваю под этим? Давайте возьмем пример: одна из ключевых целей в Vim - делать все с клавиатуры, чтобы не нужно было использовать мышь (вы можете использовать мышь, если вы хотите, но это строго по желанию). В таком случае, как бы вы различали текст, который вы хотите написать, и команды, которые вы хотите запустить?

Решение, предлагаемое в Vim, состоит в том, чтобы иметь "нормальный" режим, где вы можете выполнять команды, и режим "вставки", в котором вы просто вводите текст. Вы можете постоянно переключаться между двумя режимами.

Например, нажав i вы переключаете Vim в режим вставки, а нажатием <Esc> вы переключаете Vim в нормальный режим.

Как это делают традиционные редакторы, как они отличают команды и ввод текста? С помощью графического меню и комбинаций клавиш. Проблема в том, что это решение не масштабируется.

Прежде всего, если у вас есть сотни команд, создание меню для каждой из этих команд будет безумным и запутанным. Во-вторых, настройка использования каждой из этих команд будет еще более трудным делом.

Давайте возьмем конкретный пример. Предположим, вы хотите заменить в документе все вхождения слова "from" на слово "to". В традиционном редакторе, вы можете открыть меню, Правка -> Заменить (или использовать сочетание клавиш, типа Ctrl-R), а затем ввести слово "from" и слово "to", а затем нажать на кнопку "Заменить". После проверки можно выбрать вариант "Заменить все". В Vim, вы просто выполните :%s/from/to/g в нормальном режиме. Команда :s является аналогом команды "заменить".

Посмотрите, не правда ли, просто?

Что делать, если вы теперь хотите запустить эту замену только в 10 первых строках текста и вы хотите иметь подтверждения да/нет для каждой замены? В традиционных текстовых редакторах, получить подтверждения да/нет легко, сняв флажок "Заменить все", но сначала, вы должны найти, что менять и затем с помощью мыши щелкнуть на опции (или использовать длинную последовательность клавиш клавиатуры). Но как вы укажете, что нужно заменить только в первых 10 строках? В Vim, вы можете просто запустить :0,10s/from/to/gc. Новая опция с ('c'onfirmation), которую мы используем означает, что мы хотим подтверждение для каждой замены.

Разделение режимов на ввод (вставка) и командный (нормальный) делает Vim легким для нас, и простым при переключении режимов.

Обратите внимание, что первые шаги в использовании Vim кажутся немного "странными", немного "чудными", но как только вы попробуете его в действии, поймете что это имеет смысл. Самое приятное то, что эти основные концепции помогут вам понять все, что вам нужно знать о том, как использовать Vim.

Теперь вы понимаете разницу между обычным режимом и режимом вставки. Работая в нормальном режиме вы можете использовать различные команды, и вы можете сразу начать использовать их. Сравните это с изучением новых команд в традиционных редакторах, где сперва нужно прочесть множество документации, много искать по меню методом проб и ошибок, или просто просить кого-то помочь.

Лично я считаю, что названия режимов непонятны для начинающих. Я предпочитаю называть режим вставки как режим "записи" и нормальный режим работы, как режим "перезаписи", но мы будем придерживаться стандартной терминологии Vim, чтобы избежать путаницы.

Примечание: Все команды в нормальном режиме должны заканчиваться клавишей enter, чтобы сказать Vim, что мы написали полную команду. Так что когда мы говорим «выполните команду :help vim-modes-intro», это означает, что вы должны ввести :help vim-modes-intro, а затем нажать клавишу enter для завершения команды.


Запись в файл

Давайте теперь посмотрим, как открыть, отредактировать и закрыть файл в Vim.

1. Откроем Vim.

2. Наберем :edit hello.txt и нажмем enter.

3. Нажмем i.

4. Введем текст Hello World.

5. Нажмем клавишу <Esc>.

6. Наберем :write и нажмем клавишу enter.

7. Закроем Vim, запустив :q.

Поздравляю! Вы создали свой первый файл :-).

Много пришлось сделать операций?

Да, на первый взгляд, это так. Это потому что в первый раз, потом мы привыкаем к открытию Vim, записи в файл и закрытию Vim. Вы должны понимать, что это будет лишь незначительная часть вашего времени по сравнению с фактическим временем, которое уходит на редактирование содержания документов.

Давайте посмотрим, что делают вышеперечисленные команды.

  • :edit hello.txt или просто :e hello.txt — открывает файл для редактирования. Если файл с указанным именем не существует, то Vim создаст его при сохранении файла.

  • Нажатие i - переключает Vim в режим вставки.

  • Набор текста Hello World — ввод нужного вам текста в файл.

  • Нажатие <Esc> - возвращает Vim в нормальный режим

  • :write или просто :w — говорит Vim, что нужно записать текст (который пока сохранен в памяти компьютера) в файл на жесткий диск. Это означает, что все, что мы написали, будет теперь храниться постоянно.

  • :quit или просто :q - закрыть файл в текущем окне. Если это было единственное открытое окно в Vim, это также приведет к закрытию Vim (Концепция окон будет обсуждаться в следующей главе).

Попробуйте повторить этот процесс несколько раз с разными именами файлов, другим текстом, и т.д., пока вы не привыкнете к базовым действиям в использовании Vim.

Обратите внимание, что когда вы находитесь в режиме вставки, Vim показывает - INSERT - в нижнем левом углу. При переключении в нормальный режим, он ничего не показывает. Это потому, что нормальный режим является режимом по умолчанию, в котором работает Vim.

Потратьте некоторое время, чтобы отдохнуть от полученной информации, это, пожалуй, самый тяжелый урок, который нужно узнать о Vim, остальное все просто:)

И не волнуйтесь, помощь не слишком далеко. На самом деле, просто запустите команду :help. Например, выполните :help :edit, и вы увидите открытую документацию. Идем дальше, пробуйте.

Итоги

Мы уже обсудили основные понятия и использование Vim. См. :help notation и еще :help keycode.

Убедитесь, что вы досконально поняли эту концепцию. Как только вы начнете "думать в Vim", остальные функции Vim будут очень простыми.



Предыдущий раздел: Следующий раздел:
Установка Оглавление Режимы