Я провожу почти весь день за программированием в Vim, и я уверен, что многие из вас тоже. Какие функции вы используете, которые делают ваше повседневное программирование намного лучше? Я использую gv, который позволит вам повторно выбрать ранее выделенный текст. Это отлично подходит для переиндексации!
13 ответов
:% s/x/y/g
Эта команда заменяет все вхождения x в текущем файле на y. По сути, это всего лишь поиск и замена, но я использую его так часто, так как научился этому на работе, что он стал бесценным.
Также строка поиска
затем n для навигации по всем экземплярам строки поиска в файле. Отлично подходит для ручной настройки, особенно если вы не можете применить правило ко всему файлу.
== делает хороший авто-отступ для текущей строки.
Обычно, однако, я использую = с движением, например =G чтобы сделать отступ в конец файла, или =i} чтобы сделать отступ внутри текущего набора фигурных скобок.
=% для автоматического отступа всего в блоке кода.
The :! команда - бесценна для ls ing, и трюк "sudo tee".
Меня попросили объяснить трюк. По сути, он позволяет вам сохранить текстовый файл с правами администратора, даже если вы не запускали VIM от имени root:
:w !sudo tee %
Используйте * в командном режиме для поиска слова под курсором.
.
Ударить клавиша повторяет предыдущую команду. Прекрасно, скажем, для редактирования .ini , или около того.
цветовая подсветка синтаксиса
Когда начать... Вот вещи, которые я могу вспомнить, я использовал за последние 5 минут или около того.
- NERD Tree - Просмотр файлов. Делает VIM больше похожим на IDE.
- Одна огромная вещь для меня - это возможность
cdперейти в каталог и затем перейти к приглашению оболочки через мои отображения оболочки (ниже).
- Одна огромная вещь для меня - это возможность
ciдля того, чтобы опустошить все, что вы застряли между.:!для запуска стандартных приложений.- У меня есть сопоставления для запуска приглашения оболочки, клиента mysql, файлов журнала apache и т.д.
- Интеграция Subversion всегда хороша. Быстрые
diff,statи т.д.
:abbrдля повторения набора больших блоков.- Вкладки. Нужно ли мне сказать больше?
- Разделение файлов, всегда хорошо.
:Sexэто всегда приятно. :set paste!чтобы избежать авто-отступа.
Я всегда использую gq, чтобы заново делать разрывы строк в электронной почте, текстовых файлах и т.д. Действительно полезно при ответе на электронную почту (я использую Pine) и редактирование нескольких предыдущих ответов.
ZZ сохранить и выйти (вместо: WQ!)
Я интенсивно использую следующие команды при написании или обходе кода C/Tcl/Perl:
скопировать и вставить код
CTRL-f и CTRL-b для перемещения по страницам вперед и назад
% для блочного обхода
^ Перейти к началу строки
$ Перейти к последнему концу строки
начните выбирать код, используя команду v (визуальный режим) и любую из клавиш обхода выше
y для копирования
p для пасты
s для удаления символа и перехода в режим вставки для ввода нового текста.
Обход уровня кода (требуется дисциплина стиля кодирования)
]] для запуска следующей функции
[[ для начала предыдущей функции
CTRL-] чтобы перейти к определению переменной / функции / макроса, если теги доступны.
Поиск
* => искать слово (или текст, выделенный с помощью v) в прямом направлении
# => искать слово (или текст, выделенный с помощью v) в обратном направлении
n => выполнить предыдущую команду поиска в прямом направлении
N => выполнить предыдущую команду поиска в обратном направлении
Все вышеперечисленные команды могут начинаться с числа, чтобы указать, сколько раз его выполнить. Реализация силы этого дополнительного измерения происходит медленно, так как человек все больше использует vim и ставит перед собой задачу совершенствоваться.
Я бывший пользователь TextPad и запомнил многие из клавиш ускорения этой программы. Первым делом, которое я сделал в Vim, было изучение функции карты для обеспечения согласованности (поиск F5, замена F8 и т.д.). Я создал свою личную цветовую схему и много позаимствовал из других файлов vimrc. Вива Вим! Настраивается в любой степени.
Я просто ввожу текст. Все остальное просто ... Сахар.
