9 советов и рекомендаций по Vim для опытных пользователей

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

1. Работа с несколькими файлами

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

Вместо того чтобы открывать файлы в разных вкладках терминала, вы можете открыть их все в одной вкладке, передав имена файлов в качестве аргументов команде vim:

vim file1 file2 file3

Это позволит загрузить три файла в отдельные буферы внутри Vim.

Используйте команду :next или :n, чтобы перейти к следующему файлу, и команду :prev или :N, чтобы вернуться к предыдущему.

Для прямого перехода к первому или последнему файлу используйте команды :bf и :bl соответственно.

Чтобы открыть и начать редактировать другой файл, используйте команду :e с именем файла в качестве аргумента.

Примечание: Вам нужно указать полный путь, если ваш файл отсутствует в текущем каталоге.

Вы также можете использовать команду :ls, чтобы перечислить все открытые в данный момент буферы в вашей сессии Vim.

Примечание: Знак %a указывает на то, что файл находится в текущем активном окне, а # говорит о том, что это последний файл, на который вы переключились перед текущим.

2. Экономьте время с помощью автозавершения

Хотите сэкономить время и повысить точность? Используйте аббревиатуры. Они пригодятся при написании длинных сложных слов, которые часто встречаются в файле. Команда для ввода сокращений – ab.

Например, выполнение следующей команды автоматически заменит слово asap на as soon as possible:

:ab asap as soon as possible

Аналогичным образом можно использовать аббревиатуры для исправления распространенных ошибок при наборе текста. Например, команда follow автоматически исправит орфографическую ошибку по мере ввода:

:ab recieve receive

Если вы хотите, чтобы расширение/коррекция не происходило в определенном месте, просто нажмите Ctrl + V после последнего символа слова, а затем нажмите клавишу Space.

Чтобы удалить конкретную аббревиатуру, можно воспользоваться командой una. Например, :una asap удалит аббревиатуру for as soon as possible.

Если вы хотите сохранить созданную вами аббревиатуру, чтобы она была доступна вам при следующем использовании редактора Vim, добавьте полную команду ab без начального двоеточия в файл ~/.vimrc.

3. Разделение окон для удобного копирования и вставки

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

Откройте один из двух файлов, а затем разделите окно Vim, чтобы открыть другой файл. Это можно сделать с помощью команды split с именем файла в качестве аргумента. Например, эта команда разделит окно и откроет test.c:

:split test.c

Обратите внимание, что команда разделила окно Vim по горизонтали. Если вы хотите разделить окно по вертикали, вы можете сделать это с помощью команды vsplit. Когда оба файла будут открыты, скопируйте материал из одного файла, нажмите Ctrl + W, чтобы переключить управление на другой файл, и вставьте.

На заметку: Посмотрите наши подборки лучших кроссплатформенных текстовых редакторов для программистов на сегодняшний день.

4. Сохранить файл, который вы редактировали без прав

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

Чтобы исправить это, вы можете выполнить команду :w, за которой следует внешняя команда Bash, перезагружающая ваш файл с правами суперпользователя:

:w !sudo tee %

Vim запросит ваш пароль для разрешения команды, а затем сохранит текущие изменения.

Вы также можете быстро получить доступ к системной оболочке во время редактирования файла в Vim. Для этого выполните команду :sh из редактора.

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

5. Сохранение отступов при копировании и вставке

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

Вы можете решить эту проблему, добавив опцию pastetoggle в конфигурационный файл Vimс. Для этого откройте файл vimrc, а затем вставьте следующую строку кода в конец вашего конфига:

set pastetoggle=<F2>

Сохраните vimrc, затем откройте файл, в который вы хотите вставить код с отступами.

Перейдите в режим вставки, затем нажмите F2 перед вставкой кода с отступами. Это позволит сохранить оригинальный отступ.

Примечание: Вы можете заменить F2 на любую другую клавишу, если она уже сопоставлена с другой функцией.

6. Использование команд текстовых объектов

Еще один способ облегчить работу с Vim – использовать встроенные команды текстовых объектов. Это клавиши перемещения в специальном регистре, которые учитывают контекст того, где в данный момент находится курсор, и выполняют ваши команды в этом контексте.

Одна из самых полезных команд текстовых объектов, которую вы можете использовать, – I. Она берет клавишу движения, например W, и выполняет команды в этом контексте. Например, вы можете нажать C + I потом W<.kbd>, чтобы запустить команду change для слова, находящегося под курсором Vim.

Команда I также работает с другими формами разделителей текста. Например, нажатие C + I затем Shift + 9 очистит текст между скобками под вашим курсором.

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

Метки – это удобная функция в Vim, которая сохраняет определенное место в вашем файле на клавишу на клавиатуре. Подобно закладкам в браузере, они позволяют переходить от точки к точке при редактировании больших фрагментов текста и кода.

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

Проверьте, правильно ли работает ваша новая метка, дважды нажав G, чтобы перейти в верхнюю часть документа, а затем нажмите ` + A

Вы также можете быстро вернуться на прежнее место, дважды нажав клавишу ` (Grave).

Чтобы перечислить все доступные метки в текущей сессии, нажмите Shift + ; (точка с запятой), а затем введите marks в командном буфере.

8. Автоматизация редактирования с помощью макросов

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

Чтобы создать новый макрос Vim, нажмите Q, а затем клавишу, на которую вы хотите назначить макрос. В моем случае я назначу новый макрос на клавишу 1.

Выполните редактирование текущей строки. В моем случае я перейду к началу строки, отредактирую первое слово на That, добавлю Hello, Make Tech Easier в конце, а затем перейду к следующей строке.

После завершения редактирования нажмите Q, чтобы сохранить новый макрос.

Проверьте, правильно ли работает ваш новый макрос, нажав Shift + 2, а затем клавишу макроса.

9. Воспользуйтесь сторонними плагинами

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

Самый простой способ начать работу с плагинами Vim – установить Plug. Это легкий менеджер плагинов, который управляет установкой и управлением ваших плагинов прямо из Vim. Чтобы установить его, выполните следующую команду:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Откройте файл .vimrc вашего текущего пользователя, затем вставьте следующий блок кода в конец файла:

call plug#begin()
call plug#end()

Сохраните .vimrc, перезапустите Vim, затем нажмите Shift + ; (точка с запятой), чтобы вызвать командный буфер.

Введите PlugStatus в буфере, чтобы подтвердить, что вы правильно установили Plug на ваш экземпляр Vim.

Чтобы установить плагин, вернитесь в раздел call plug#begin() вашего файла .vimrc, затем введите Plug, а затем Git URL вашего плагина. Например, вставка следующего кода установит плагин Goyo в ваш экземпляр Vim:

Plug 'https://github.com/junegunn/goyo.vim.git'

Перезапустите клиент Vim, вызовите командный буфер, затем выполните PlugInstall, чтобы запустить процесс установки плагина.

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

Зарубин Иван Эксперт по Linux и Windows

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

Похожие статьи

Комментарии (0)