Я провожу почти весь день за программированием в Vim, и я уверен, что многие из вас тоже. Какие функции вы используете, которые делают ваше повседневное программирование намного лучше? Я использую gv, который позволит вам повторно выбрать ранее выделенный текст. Это отлично подходит для переиндексации!
Для исторических целей, вот ссылка на оригинальный вопрос SO: http://stackoverflow.com/questions/95072/what-are-your-favorite-vim-tricks
Jax 15 лет назад
1
Обратите внимание на мой комментарий ниже, и вам даже не придется вводить `gv`. :)
Nathan Long 13 лет назад
0
Эта команда заменяет все вхождения x в текущем файле на y . По сути, это всего лишь поиск и замена, но я использую его так часто, так как научился этому на работе, что он стал бесценным.
Также строка поиска
затем n для навигации по всем экземплярам строки поиска в файле. Отлично подходит для ручной настройки, особенно если вы не можете применить правило ко всему файлу.
Я на самом деле работаю над преобразованием большой части нашей кодовой базы на работе, и я делаю это полностью с помощью регулярных выражений vim (пока). Это работает очень хорошо!
Frew Schmidt 15 лет назад
0
Добавьте «c» в конце этого, чтобы сделать команду интерактивной. например:% s / x / y / gc
sml 14 лет назад
0
Обратите внимание, что `%` - это место для подстановки - `%` означает «текущий файл». Если вы визуально выделите несколько строк и наберете `: s`, вы можете сделать замену только в этом выделении.
Nathan Long 13 лет назад
1
7
Nathan Long
== делает хороший авто-отступ на текущей строке.
Обычно, однако, я использую =движение, например, =Gдля отступа в конце файла или =i}для отступа внутри текущего набора фигурных скобок.
Также имейте в виду >> и <<, которые могут делать (не) отступ.
Frew Schmidt 15 лет назад
2
@Frew - да. Также, если вы добавите `vmap > gv` и `vmap
Nathan Long 13 лет назад
0
6
Kristo
=% для автоматического отступа всего в блоке кода.
Оооо! Это ново для меня!
Frew Schmidt 15 лет назад
0
Это работает, если ваш курсор находится в начале `{`. Если вы внутри блока, вы можете сделать `= i {`, для «отступа внутри фигурных скобок».
Nathan Long 13 лет назад
0
5
Lucas Jones
Команда :!- бесценная для lsпингвинов, и "sudo tee" трюк.
Меня попросили объяснить трюк. По сути, он позволяет вам сохранить текстовый файл с правами администратора, даже если вы не запускали VIM от имени root:
:w !sudo tee %
Возможно, вы захотите объяснить трюк «sudo tee» здесь :-) Также мне нравится делать:! Sort после выделения определений переменных и еще много чего.
Frew Schmidt 15 лет назад
0
Вы действительно можете превратить Vim в замечательный редактор с поддержкой скриптов, используя:! и некоторые сценарии оболочки / Python / Perl / другие.
Jonas 15 лет назад
0
У меня на самом деле есть альтернатива `! Ls`, которая запускает` vnew`, выводит `r! Ls` в новый буфер и сжимает его по горизонтали. Я не могу вспомнить все файлы в каталоге с более чем тремя;)
new123456 12 лет назад
0
5
Jonas
Используйте *в командном режиме для поиска слова под курсором.
И не забывайте, что это сестринская команда, #, которая делает то же самое, но идет назад, а не вперед!
Frew Schmidt 15 лет назад
1
4
Phoshi
.
Ударить клавиша повторяет предыдущую команду. Прекрасно, скажем, для редактирования .iniили около того.
это на удивление мощно, но требуется немного энергии, прежде чем вы сможете по-настоящему освоиться с ним.
aaron 13 лет назад
0
3
mas
цветовая подсветка синтаксиса
2
erichui
Я всегда использую gq, чтобы заново переносить разрывы строк в электронной почте, текстовых файлах и т. Д. Действительно полезно при ответе на электронную почту (я использую pine) и редактировании нескольких предыдущих ответов.
Ооо, я совсем забыла об этом!
Frew Schmidt 15 лет назад
0
Почему, почему, более популярные почтовые клиенты не поддерживают подобную функциональность?
erichui 15 лет назад
0
Недавно я использую gw вместо gq, потому что он сохраняет позицию курсора
SergioAraujo 6 лет назад
0
2
Jack M.
С чего начать ... Вот те вещи, которые я могу вспомнить, я использовал за последние 5 минут или около того.
NERD Tree - Просмотр файлов. Делает VIM больше похожим на IDE.
Для меня очень важна возможность cdсоздания каталога, а затем перехода к приглашению оболочки через мои отображения оболочки (ниже).
ci для опустошения всего, что вы застряли между.
:! для запуска стандартных приложений.
У меня есть сопоставления для запуска приглашения оболочки, клиента mysql, файлов журнала apache и т. Д.
Интеграция Subversion всегда хороша. Быстрый diffс, statс и т. Д.
:abbr за повторяющуюся печать больших блоков уходи.
Вкладки. Нужно ли мне сказать больше?
Разделение файлов, всегда хорошо. :Sexвсегда приятно.
:set paste! чтобы избежать авто-отступа.
Я использую все это, за исключением аббревиатуры. Я стараюсь делать больше макросов, чем аббревиатур.
Frew Schmidt 15 лет назад
0