13

Я провожу почти весь день за программированием в Vim, и я уверен, что многие из вас тоже. Какие функции вы используете, которые делают ваше повседневное программирование намного лучше? Я использую gv, который позволит вам повторно выбрать ранее выделенный текст. Это отлично подходит для переиндексации!

13 ответов13

9

:% s/x/y/g

Эта команда заменяет все вхождения x в текущем файле на y. По сути, это всего лишь поиск и замена, но я использую его так часто, так как научился этому на работе, что он стал бесценным.

Также строка поиска

затем n для навигации по всем экземплярам строки поиска в файле. Отлично подходит для ручной настройки, особенно если вы не можете применить правило ко всему файлу.

7

== делает хороший авто-отступ для текущей строки.

Обычно, однако, я использую = с движением, например =G чтобы сделать отступ в конец файла, или =i} чтобы сделать отступ внутри текущего набора фигурных скобок.

6

=% для автоматического отступа всего в блоке кода.

5

The :! команда - бесценна для ls ing, и трюк "sudo tee".

Меня попросили объяснить трюк. По сути, он позволяет вам сохранить текстовый файл с правами администратора, даже если вы не запускали VIM от имени root:

:w !sudo tee %
5

Используйте * в командном режиме для поиска слова под курсором.

4
.

Ударить клавиша повторяет предыдущую команду. Прекрасно, скажем, для редактирования .ini , или около того.

3

цветовая подсветка синтаксиса

2

Когда начать... Вот вещи, которые я могу вспомнить, я использовал за последние 5 минут или около того.

  • NERD Tree - Просмотр файлов. Делает VIM больше похожим на IDE.
    • Одна огромная вещь для меня - это возможность cd перейти в каталог и затем перейти к приглашению оболочки через мои отображения оболочки (ниже).
  • ci для того, чтобы опустошить все, что вы застряли между.
  • :! для запуска стандартных приложений.
    • У меня есть сопоставления для запуска приглашения оболочки, клиента mysql, файлов журнала apache и т.д.
    • Интеграция Subversion всегда хороша. Быстрые diff , stat и т.д.
  • :abbr для повторения набора больших блоков.
  • Вкладки. Нужно ли мне сказать больше?
  • Разделение файлов, всегда хорошо. :Sex это всегда приятно.
  • :set paste! чтобы избежать авто-отступа.
2

Я всегда использую gq, чтобы заново делать разрывы строк в электронной почте, текстовых файлах и т.д. Действительно полезно при ответе на электронную почту (я использую Pine) и редактирование нескольких предыдущих ответов.

2

ZZ сохранить и выйти (вместо: WQ!)

1

Я интенсивно использую следующие команды при написании или обходе кода C/Tcl/Perl:

скопировать и вставить код

CTRL-f и CTRL-b для перемещения по страницам вперед и назад
% для блочного обхода
^ Перейти к началу строки
$ Перейти к последнему концу строки

начните выбирать код, используя команду v (визуальный режим) и любую из клавиш обхода выше
y для копирования
p для пасты

s для удаления символа и перехода в режим вставки для ввода нового текста.

Обход уровня кода (требуется дисциплина стиля кодирования)

]] для запуска следующей функции
[[ для начала предыдущей функции

CTRL-] чтобы перейти к определению переменной / функции / макроса, если теги доступны.

Поиск

* => искать слово (или текст, выделенный с помощью v) в прямом направлении
# => искать слово (или текст, выделенный с помощью v) в обратном направлении
n => выполнить предыдущую команду поиска в прямом направлении
N => выполнить предыдущую команду поиска в обратном направлении

Все вышеперечисленные команды могут начинаться с числа, чтобы указать, сколько раз его выполнить. Реализация силы этого дополнительного измерения происходит медленно, так как человек все больше использует vim и ставит перед собой задачу совершенствоваться.

0

Я бывший пользователь TextPad и запомнил многие из клавиш ускорения этой программы. Первым делом, которое я сделал в Vim, было изучение функции карты для обеспечения согласованности (поиск F5, замена F8 и т.д.). Я создал свою личную цветовую схему и много позаимствовал из других файлов vimrc. Вива Вим! Настраивается в любой степени.

0

Я просто ввожу текст. Все остальное просто ... Сахар.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .