Комментарии 41
qq — начать запись команд в макрос
q — остановить запись
10 @q — использовать макрос 10 раз
Полезно, например, если необходимо удалить каждую вторую строчку файла или если есть серия файлов, с которыми необходимо сделать одинаковые действия.
q — остановить запись
10 @q — использовать макрос 10 раз
Полезно, например, если необходимо удалить каждую вторую строчку файла или если есть серия файлов, с которыми необходимо сделать одинаковые действия.
Extra tip: «qq — начать запись команд в макрос» — вторая буква после q может быть любая. Например, qx -> @x. Так можно записать несколько разных макросов.
гг)
как раз совсем недавно удалял каждую вторую строчку с помощью
:%s/\(.*\)\n.*\n/\1/g
где вводиться как — ctrl+K, Enter
забыл про макросы)
как раз совсем недавно удалял каждую вторую строчку с помощью
:%s/\(.*\)\n.*\n/\1/g
где вводиться как — ctrl+K, Enter
забыл про макросы)
А существует ли возможность выполнить макрос «до конца файла»?
К примеру, если макрос за один раз обрабатывает одну строку и этот макрос нужно применить ко всем строкам, то нужно указать N@q, где N — количество строк. А можно ли N заменить чем-то, что бы автоматически выполнялся макрос до конца.
@@ — использовать предыдущий макрос.
К примеру, если макрос за один раз обрабатывает одну строку и этот макрос нужно применить ко всем строкам, то нужно указать N@q, где N — количество строк. А можно ли N заменить чем-то, что бы автоматически выполнялся макрос до конца.
@@ — использовать предыдущий макрос.
Есть также удобная команда. (просто точка), повторяет последнее действие.
Например, есть строка: «hello world, hello people», тогда если поставить курсор на первую букву h и в режиме редактирования нажать 5 раз delete, написать какое-то слово, и переместить курсор ко второй h и нажать точку, то оно удалит hello и запишет слово, которое было введено ранее.
Например, есть строка: «hello world, hello people», тогда если поставить курсор на первую букву h и в режиме редактирования нажать 5 раз delete, написать какое-то слово, и переместить курсор ко второй h и нажать точку, то оно удалит hello и запишет слово, которое было введено ранее.
В чем сакральный смысл повторять то, что и так написано в тысячах других шпаргалок, мало того, все что вы написали, есть в tutorial'е для новичков.
Ответ кроется в заголовке-дисклеймере (Yet Another ...).
десять команд — это нифига не шпаргалка, а десять команд, из которых больше половины элементарщина, которая запоминается сама по себе в процессе использования — вообще гроша ломанного не стоит. Что же вы не упомянули i — вход в режим ввода, v — вход в визуальный режим.
Читателям Хабры судить, что элементарщина, а что — нет.
тогда мне жаль хабр, раз это на главной. Хабр все-таки не жж, в котором уместно писать: «Ах, я сегодня впервые увидил вим и вот команды, которые я изучил»
в vimtutor половины нету.
В принципе, этот топик — хороший способ обратить на ВИМ дополнительное внимание. По-моему, это хорошо. Кроме того, я хоть и сижу в VIM, но в целом в повседневной жизни использую ограниченный набор его «фишек», которые когда-то запомнились, как самое нужное. Проходит время, эти «фишки» становятся повседневностью и я открыт запомнить что-нибудь ещё. Неплохо, когда кто-то другой предлагает мне свой набор постоянных, отобранных «фишек».
Мне этот топик был полезен, т.к. с его помощью я немного расширил свой «постоянный» набор.
В принципе, этот топик — хороший способ обратить на ВИМ дополнительное внимание. По-моему, это хорошо. Кроме того, я хоть и сижу в VIM, но в целом в повседневной жизни использую ограниченный набор его «фишек», которые когда-то запомнились, как самое нужное. Проходит время, эти «фишки» становятся повседневностью и я открыт запомнить что-нибудь ещё. Неплохо, когда кто-то другой предлагает мне свой набор постоянных, отобранных «фишек».
Мне этот топик был полезен, т.к. с его помощью я немного расширил свой «постоянный» набор.
Расширяйте дальше :)
Спасибо за:
`. — перейти к последней редактируемой строке.
`` — перейти к последней активной строке.
Спасибо. Чит-шиты также много интересного несут: www.cheat-sheets.org/#Vim
НЛО прилетело и опубликовало эту надпись здесь
Вопрос был не ко мне, но я за себя скажу — в виме свои регулярки, синтаксис отличается, зачем помнить 2 синтаксиса регулярок, когда можно помнить один?
Перловые регулярные выражения знаю хорошо, а вот встроенные — не очень, поэтому и пользуюсь. К тому же реализация в перле одна из самых (самая?) мощных.
НЛО прилетело и опубликовало эту надпись здесь
очень используемы еще комманды
do)
di"
vo{
…
d или v — удалить или выделить
o или i — включая или не включая пограничные символы
последний символ — область внутри любых видов скобо, ковычек, слово (w)
do)
di"
vo{
…
d или v — удалить или выделить
o или i — включая или не включая пограничные символы
последний символ — область внутри любых видов скобо, ковычек, слово (w)
<b<di{ — убийственная команда, нигде раньше не встречал. А вот do{ — не работает, говорит что буфер не в diff режиме.
Добавил в шпаргалку.
gd хорош, спасибо.
[[ выходит на верхнюю из вложенных (определение класса например). Есть такая же команда, но только для текущей функции?
[[ выходит на верхнюю из вложенных (определение класса например). Есть такая же команда, но только для текущей функции?
Очень рекомендую отличный учебник по vim на _простом_ английском языке.
Byte of Vim
Byte of Vim
Все эти шпаргалки БЕС-ПО-ЛЕЗ-НЫ.
Главое — научиться контролировать что ты делаешь и оптимизировать СВОЙ рабочий процесс. Ну а единственная команда vim, которую действительно стоит выучить, это :help.
Такая моя ИМХА :)
Главое — научиться контролировать что ты делаешь и оптимизировать СВОЙ рабочий процесс. Ну а единственная команда vim, которую действительно стоит выучить, это :help.
Такая моя ИМХА :)
Именно об этом Брам рассказывает в видео 7 Habits For Effective Text Editing. Найти, что тебя тормозит — научиться делать это быстрее.
А куда комментарии делись?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Еще одна шпаргалка