Советы, которые никто не говорил вам, как начинающему Vim-er (включая GIF-файлы)

Те из вас, кто следит за мной, знают, что я большой Vim n3rd. Поэтому я решил написать короткую статью, чтобы перечислить несколько основных элементов Vim, которые, по моему мнению, будут очень полезны для новичков при первом знакомстве с Vim.

Предпосылки

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

Основы Vim

Оглавление

1. Navigating faster
2. Edit multiple lines concurrently
3. Use ‘Vimspeak’, a.k.a. Verb Modifier Objects (VMO)
4. Repeat last command is your best friend
5. Common ways to start editing in insert mode
6. Indents, spaces, tabs and whitespace
Bonus Tips!

1. Навигация быстрее

Навигация в Vim может быть сложной задачей для новичков, особенно когда вы все еще привыкаете к клавишам перемещения j, h, k и l.

Вот несколько советов, как ориентироваться намного быстрее.

а.) Используйте (относительные) номера строк

Возможность визуально видеть номера строк и навигация с их использованием сделает вашу кривую обучения Vim намного проще.

# Set absolute line number
:set nu
# Set relative line number
:set rnu
# Unset line number (add `!` at the end)
:set rnu!
:set nu!

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

# Go to line 20
:20
# Move 10 lines up
:-10
# Move 23 lines down
:+23

b.) Навигация по блокам кода вместо (строк)

Чаще всего мы хотим сначала перемещаться по блокам кода, чтобы быстро просмотреть тело кода, прежде чем перейти к нужному месту.

# Move one code block up
Shift-{
# Move one code block down
Shift-}

c.) Быстро перемещайтесь вверх (gg) и вниз (G) файла

г.) Перецентрировать страницу с помощью zz

e.) Все команды могут начинаться с числа

Это позволяет вам повторять команду, которую вы хотите использовать, заданное количество раз. Например, переход на 5 кодовых блоков вниз будет 5-Shift-}.

2. Одновременное редактирование нескольких строк

Сначала войдите в режим визуального блока с помощью Ctrl-V. Это позволяет вам выбирать несколько строк, используя обычные клавиши навигации, такие как j, k, или даже то, что мы узнали в [1], используя Shift-{или Shift-}.

Затем используйте Shift-I, чтобы войти в режим вставки и внести эти изменения!

3. Используйте «Vimspeak», также известные как объекты-модификаторы глагола (VMO)

Если вы знакомы с основами Vim, то знаете, что d представляет глагол «удалить», а w представляет объект «слово». Объединение в цепочку этих объектов-модификаторов глаголов — более сложная тема, поэтому я поделюсь несколькими общими, которые были особенно полезны для меня.

Глаголы: v: визуальный; c: изменить; d: удалить; y: рывок
Модификаторы: i: внутрь; a: вокруг; t: до; f: найти
объекты: w: слово; s: предложение; p: абзац; b: блок; t: тег

Чтобы использовать VMO, мы просто объединяем глагол, за которым следует модификатор, а затем объект. Наиболее полезными для новичков я считаю следующие:

  • Изменить внутреннее слово (ciw): удаляет слово, на котором в данный момент находится курсор, и переходит в режим вставки после него. (Чтобы не входить в режим вставки, используйте вместо этого diw.)

  • Изменить до <char> (ct<char>): удаляет все символы от курсора до следующего появления <char> и переходит в режим вставки после. (Чтобы не входить в режим вставки, используйте вместо этого dt<char>.)

Примечание! Разница междуchangeиdeleteзаключается в том, чтоchangeпереводит вас в режим вставки, где вы можете сразу же вносить изменения во времяудаления поддерживает обычный режим.

4. Повторите последнюю команду — ваш лучший друг

Чтобы повторить последнюю команду, используйте .. Поверьте мне — это так просто, но меняет жизнь. Попробуйте сами с любой из вышеперечисленных команд, которые вы узнали в [3].

5. Распространенные способы начать редактирование в режиме вставки

а.) Начните писать в конце строки [Shift-A]

б.) Удалите все, начиная с курсора, и начните писать [Shift-C]

c.) Начните писать ниже [o] или выше [O] текущей строки с правильным отступом.

6. Отступы, пробелы, табуляции и пробелы

а) Одиночные [>>, <<] и многострочные [>, <] отступы

б) Визуализируйте вкладки, пробелы и пробелы

Во-первых, мы используем :set list в командном режиме. Это позволяет визуализировать конец строки с помощью $ и вкладки с помощью ^I.

Бонусные советы!

  • Переназначьте клавишу Caps Lock на Esc, потому что Esc слишком часто используется в Vim, а исходная Esc расположена слишком далеко от мизинца.
  • Используйте .vimrc для настройки личных конфигураций среды выполнения Vim.
  • Используйте %, чтобы найти соответствующую фигурную скобку (например, {([])}).

Заключительные слова

Прежде чем я закончу, я хотел бы сказать, что Vim — это постоянное обучение, потому что вы постоянно изучаете новые и более эффективные способы делать одно и то же. Однако следует отметить одну вещь:

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

Дайте мне знать, если вы найдете эту статью полезной, а также дайте мне знать, какие у вас проблемы с Vim, и я обязательно постараюсь найти для вас решение!

Поддержите меня! — Если вам нравится мой контент и вы не подписаны на Medium, рассмотрите возможность поддержать меня и подписаться по моей реферальной ссылке здесь. (ПРИМЕЧАНИЕ: часть ваших членских взносов будет отнесена мне в качестве реферальных вознаграждений). В противном случае, оставление 👏🏻 аплодисментов или 💬 комментария также помогает алгоритму!

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Вакансии для инженеров-программистов