Вставка - это просто. Поместите курсор в место куда вы хотите вставить текст и нажмите на клавишу p. Использования нескольких буферов обмена. Большинство из редакторов меют только один буфер обмена. У vim их же намноо больше. Буферы обмена вв vim называются регистрами(registers). Вы можете получить список всех зарегистрированых буферов обмена и их содержимое ввев команду :reg. Обычно вы будете использовать регистры в строчном формате; регистры в прописном формате используются для внутренних нужд vim и могут быть иногда полезными. Для того что бы использовать определенный регистр для операций копирования/вставки, просто введите "a перед командой копирования/вставки, где a - имя регистра который вы хотите использовать. Например для того что бы скопировать текущую строку в регистр k, вы должны ввести команду "kyy (второй вариант v"ky. Кто знает почему это работает? Эта строка останется в регистре k пока вы не скопируете что-либо другое в регистр k. Для вставки текста из регистра k, вы должны ввести "kp. Избегайте повторения своих дейcтвий. Удивительная команда . В vim, нажатие . (точка) будет вызывать повторение последней введенной команды. Например, если последняя команда была dw(удалить слово), после нажатия . в режиме команд vim удалит еще одно слово. Использование счетчиков. Счетчики - это очередной мощный и сохраняющий ваше время инструмент. Любые команды могут быть предварены числом. Это число указывает сколько раз необходимо повторить команду. Вот несколько примеров:
3j
переведет курсор на 3 строки вниз
10dd
удалить 10 строк
y3f&qoute;
скопирует текст от курсора до третьей кавычки после курсора на текущей строке.
Также счетчики полезны для расширения границ "пропусков" (motion). Запись макросов. Иногда вы можете заметить что вы выполняете одни и теже действия над блоками текста. Vim позволяет вам записать макрос для выполнения операций.
qregister
начать запись макроса в именованный регистр. Например, qa начинает запись и сохраняет макрос в регистр a
q
закончить запись макроса
@register
выполнить макрос сохраненный в именованном регистре. Например @a выполнит макрос записанный в регистре a.
Помните что макрос всего-лишь записывает ваши команды и проигрывает их. Это не магия. Запись макросов - это почти искуство, потому что существует множество команд которые выполняют определенные задачи в vim, и вы должны аккуратно выбирать команды которые будете использовать при записи макроса для того что бы они работали в тех местах, где вы планируете выполнять макросы. Написание програмного кода в vim Vim - прекрасный редактор для програмного кода потому что в нем присутствует множество специальных команд, которые предназначены специально для облегчения жизни программистов. Вот несколько полезных из них:
]p
подобно p, но автоматически подбирает отступ для вставки кода. Испытайте эту команду!
%
переместите курсор на скобку, квадратную скобку или фигурную скобку и нажатие на % переместит курсор на соответствующую парную скобку. Прекрасное средство для исправления проблем, при разборе кода, связанных с большими блоками кода или логики
>>
сдвинуть вправо выделенный текст (сделать отступ). Если текст не выделен то сдвинется вся строка
<<
- тоже самое что и >>, но сдвиг происходит влево
gd
перейти к обьявлению функции или переменной на которой в данный момент стоит курсор
K
перейти к man-странице слова под курсором. (Например если курсор у вас стоит на слове sleep, то вы увидете man-страницу для sleep)