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