Отправляет email-рассылки с помощью сервиса Sendsay

Vim - шаг за шагом

  Все выпуски  

Vim - шаг за шагом Выпуск второй. Установка и начало освоения


Vim - шаг за шагом. Выпуск второй. Установка и начало освоения Vim.

Датировано: 03.02.2009
Vim

Цели выпуска:

  • Установить Vim
  • Изучить базовые приёмы работы в Vim

Установка

Windows. Скачиваем на http://www.vim.org/download.php#pc файл Self-installing executable. Последней стабильной версией на момент написания этого выпуска была версия 7.2, ftp://ftp.vim.org/pub/vim/pc/gvim72.exe. При установке можно оставить вариант по умолчанию “Typical”.

Linux. Если у вас к примеру Debian или Ubuntu, то вы можете сказать:

# apt-get install vim vim-gnome vim-doc

Здесь мы устанавливаем консольную версию Vim, версию на GTK и документацию, хотя консольная версия у вас вероятно уже будет стоять, в большинстве дистрибутивов она устанавливается по умолчанию.
FreeBSD. Во FreeBSD по умолчанию установлен vi - предок Vim’a, в Linux же vi является часто символической ссылкой на Vim. Чтобы поставить Vim из портов:

# cd /usr/ports/editors/vim && make install clean

Об установке Vim в других ОС, смотрите http://www.vim.org/download.php

После того, как мы поставили Vim, запустим учебник для новичков:

$ vimtutor ru

Я здесь вторым параметром указал язык учебника, т.к. по умолчанию учебник запускается на том языке, который имеет локаль, у меня это en_US.UTF-8, если у вас русская локаль, то можно опустить этот параметр. Подробнее:

$ man -L ru_RU.UTF-8 vimtutor

Здесь я указал локаль по той же причине :)
Для запуска vimtutor в Windows - выберите соответствующий пункт в Пуск->Программы->gVim
Итак, вы должны увидеть нечто вроде:

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

Вам потребуется приблизительно 25-30 минут на освоение данного учебника в
зависимости от того, сколько времени Вы потратите на эксперименты.

Теперь добросовестно вложите это время в изучение Vim, правьте текст учебника по примерам, это всё равно копия. Ещё раз обратите внимание:

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

Я не буду вдаваться в пересказ учебника, но резюмирую знания из него в удобной форме с небольшими дополнениями:

Команды перехода между режимами

Команда Назначение
<ESC> или C-[ Возврат в Normal mode(обычный режим)
i Переключение в режим вставки, перед символом, находящимся под курсором
I Переключение в режим вставки, вначале текущей строки
a Переключение в режим вставки, после символа, находящимся под курсором
A Переключение в режим вставки, в конце текущей строки
o создает строку НИЖЕ курсора и перемещает курсор в нее в режиме вставки
O создает строку ВЫШЕ строки, в которой находится курсор

Команды навигации по тексту

Команда Назначение
h курсор на позицию влево
j курсор на позицию вниз
k курсор на позицию вверх
l курсор на позицию вправо
w переход к 1-ой букве следующего слова
e переход к последней букве следующего слова
0 или ^ переход к началу строки
$ переход к концу строки
G перемещение к последней строке файла
gg перемещение к перовой строке файла
xG перемещение к x строке файла, например 100G
C-g показать информацию о текущей позиции в файле
/ Поиск вперёд по тексту
? Поиск назад по тексту
n Следующее вхождение строки в направлении поиска
Shift-n Предъидущее вхождение строки в направлении поиска
% Найти парную скобку той, над которой курсор
C-d или C-f на страницу вперёд
C-u и C-b на страницу назад

Замена текста по шаблону

Команда Назначение
:s/old/new Для подстановки `стало' вместо первого `было' в строке
:s/old/new/g Для подстановки `стало' вместо всех `было' в строке
:#,#s/old/new/g Для замены в интервале между двумя строками
:%s/old/new/g Для замены всех вхождений `было' на `стало' в файле
:%s/old/new/gc Чтобы редактор каждый раз запрашивал подтверждение

Команды редактирования текста

x удалить символ, находящийся под курсором
dw Удаление текста от курсора до конца слова
dd удаление текущей строки
d$ удалить текст от текущей позиции до конца строки
d0 удалить текст от текущей позиции до начала строки
Формат команды `удаление' d таков: [число] d объект ИЛИ d [число] объект
Формат команды изменения таков: [число] c объект ИЛИ c [число] объект
u Отмена(откат) предшествующих действий(undo)
U Отмена(откат) всех изменений в строке
C-r Откат отката(redo)
p Вставка текста, который был удалён/скопирован
r Замена символа под курсором
R переводит Вас в режим замены до тех пор, пока не будет нажата клавиша <ESC> для завершения

Разное

:q! выход из редактора без сохранения изменений в файле
:wq сохранить файл и выйти
:!команда исполняет внешнюю команду
:w FILENAME записывает текущий редактируемый файл на диск
:#,#w FILENAME сохраняет строки от # до # в файл FILENAME
:r FILENAME считывает с диска файл FILENAME и помещает его в текущий файл следом за позицией курсора
:set xxx вы сможете включить параметр “xxx”
:help получение справки

Мы узнали, что есть 3 режима:

  1. Нормальный режим - По умолчанию Vim начинает свою работу в нормальном режиме, который иногда также называют командным. Нажатие клавиш в этом режиме воспринимается как команды, такие, например, как скопировать, удалить или переместить текст.
  2. Режим вставки - В этом режиме Vim работает так же как и большинство «обычных» текстовых редакторов. Набранные символы не воспринимаются как команды, а вставляются в существующий текст.
    Для вставки, удаления, изменения, автодополнения текста также могут использоваться клавиатурные сочетания (<C-rgt; и др.) Для возврата в нормальный режим следует нажать клавишу Escape.
  3. Режим командной строки - Этот режим вызывается нажатием символа : двоеточия из командного режима. За двоеточием следует сложная команда, например такая как поиск или замена, после ввода которой она передаётся на исполнение нажатием Enter. После того как команда выполнена, редактор возвращается в нормальный режим. К этому режиму также относятся команды / (поиск вперёд по тексту), ? (поиск назад по тексту) и команда-фильтр ! (передача данных внешнему фильтру).

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

Безполезные вещи

  • В windows есть разные урезанные версии Vim’a, типа Vim-easy, который не поддерживает режимы, Vim-readonly и т.п., запускайте всегда либо gVim, либо Vim, нам нужны полноценные версии Vim’a, иначе толку от такого обучения будет мало.
  • В Vim работают некоторые стандартные клавиши перемещения по тексту, типа курсорных, pgdown, pgup и т.п., не используйте их, сила Vim в удобном расположении горячих клавиш, при котором вам почти никогда при редактировании текста не придётся отрывать руки от центральной части клавиатуры, концепт hjkl очень важен! используйте его с самого начала.

Полезные ссылки:


В избранное