Я провожу почти весь день за программированием в 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. Вива Вим! Настраивается в любой степени.
Я просто ввожу текст. Все остальное просто ... Сахар.