Текстовый редактор Vim является одним из самых функциональных инструментов для интерфейса командной строки. Его предшественником был редактор с похожим названием – Vi. Оба продукта объединяет общая черта. Это подход к работе с текстами. Тем не менее Vim стал более мощным инструментом с расширенными возможностями.
Освоить редактор не так уж легко (особенно новичку), и с этой задачей справляется далеко не каждый пользователь системы. Но после освоения Vim работа с текстом начнет приносить сплошное удовольствие.
Синтаксис
Действия с текстовыми файлами выполняются посредством специальных команд. Самые основные из них мы рассмотрим в данном материале.
Перед началом работы пользователю необходимо активировать расширенный режим редактора. Ниже предложен синтаксис:
[адрес] [команда] [!] [параметры]
Детальный разбор синтаксиса:
- Адрес. Указание набора данных для выполнения определенной операции. К примеру, пользователь может добавить адрес начала и конца фрагмента;
- Команда. Указание необходимой команды для выполнения программой;
- Восклицательный знак. В определенных командах перечень аргументов может быть отделен при помощи знака «!»;
- Параметры. Указание подходящих параметров для работы программы с файлами.
На первый взгляд может показаться, что теоретическая составляющая вопроса не по силам новичку. Однако на практике дело обстоит гораздо проще. Самое главное – не бояться, а браться за дело.
Важно! Команды, применяемые для популярного редактора Vim, нужно прописывать через двоеточие.
Установка
Итак, перейдем ближе к делу. Во-первых, мы оставим подсказку для тех пользователей, у кого отсутствует редактор Vim на компьютере. Такое случается крайне редко, но иногда инструмент не установлен. Исправить эту ситуацию поможет специальная команда. Она актуальна для операционной системы Linux.
$ sudo apt-get install vim
После этого можно использовать установленный инструмент.
Список команд
- Abbreviate
Отвечает за создание аббревиатур. В дальнейшем это превращается в отличный способ экономии времени. Пользователь вводит аббревиатуру, а программа прописывает развернутый вариант в автоматическом режиме.
Правильное написание:
:abbreviate
Чтобы просмотреть список имеющихся аббревиатур, необходимо задать команду без указания каких-либо параметров. На практике это будет выглядеть следующим образом:
:ab
Как добавить новую аббревиатуру? Рассмотрим на примере (шифр «tst» будет означать «test»). Следовательно, в командной строке нужно вписать:
:ab tst test
- Append
Отвечает за переключение в режим редактирования файла. Правильное написание:
:append
После ввода команды можно начинать редактирование текста. Чтобы начать вставку с новой строки, в конце данной команды необходимо поставить знак «!». Также необходимо определиться с тем, после какой строки будет добавлен текст. Например, после второй. В таком случае нужно вписать:
:2append
- Args
Отвечает за отображение перечня всех файлов, которые редактируются в текущий момент времени.
Правильное написание:
:ar
- Buffers
Отвечает за отображение перечня всех открытых файлов в текущий момент времени.
Правильное написание:
:buffers
Далее рассмотрим смежную команду.
- Buffer
Отвечает за переключение в определенный буфер. К примеру, пользователю нужно переключиться во второй буфер. На практике это будет выглядеть так:
:buffer 2
- CD
Отвечает за изменение действующего каталога редактора. Эту команду нужно прописывать с указанием пути в параметрах. Например:
:cd /tmp
Важно! Заданная команда не может быть выполнена, если файл не сохранен. Чтобы решить текущую проблему, необходимо добавить в параметрах знак восклицания.
- Edit
Отвечает за открытие нового файла для начала редактирования. При этом старый файл никуда не исчезает. На экране появляется отдельный буфер для нового файла. Чтобы указанная команда мола сработать безо всяких проблем, пользователю необходимо указать номер строки для старта и наименование файла. Например:
:edit file
:buffers
- File
Отвечает за редактирование названия текстового файла. Если файл с таким именем уже существует в системе, нужно добавить в параметрах знак «!».
Правильное написание:
:file tutor
- Join
Отвечает за объединение нескольких строк. Чтобы команда выполнила поставленную задачу, ей необходимо передать адрес и количество строк для слияния. Например:
:0,10join
Либо такой вариант:
:0join10
- Mark
Отвечает за создание вспомогательных меток в текстовом файле. Это необходимо для того, чтобы в следующий раз быстро вернуться к определенной строке в тексте. Как создать новую метку:
:mark x
Примечание: добавление строчной буквы при создании новой метки будет относиться только к текущему буферу. Чтобы создать метку для всех открытых вкладок, необходимо заменить строчную букву заглавной.
Как перейти к нужной метке после её создания:
’x
- Move
Отвечает за перемещение определенной части текста по тому адресу, который будет указан в параметрах команды. Отрывок текста может переместиться в начало, если не указать адрес. Допустим, пользователю нужно переместить строки 7,8 и 9 в начало текстового файла. Для этого задается команда следующего вида:
:7,9move0
Как видите, строку под номером «8» можно не вписывать в параметры команды. Она будет учитываться автоматически.
- Put
Отвечает за такое действие, как вставка скопированной/удаленной части текста в буфер. Если задать команду без уточнения буфера, система использует тот буфер, который был отредактирован недавно. Правильное написание без дополнительных параметров:
:put
- Set
Отвечает за установку значений переменных в редакторе Vim. Среди и гиков и программистов это одна из самых востребованных команд при работе с программой. Далее рассмотрим синтаксис команды. Он выгляди следующим образом:
:set имя_переменной=значение
В некоторых ситуациях пользователю Linux может потребоваться доступ ко всем переменным. Чтобы воплотить задуманное в реальность, необходимо ввести в командной строке следующее:
:set all
Допустим, возникла необходимость сообщить редактору Vim, что нужно продемонстрировать номера строк в текущем текстовом файле. Для этих целей должна быть задана команда такого вида:
:set number
А теперь попробуем отменить текущие параметры, используя команду-антипод. Номера строк исчезнут, если задать:
:set nonumber
- Shell
Отвечает за получение доступа к командной оболочке операционной системы.
Правильное написание:
:shell
- Unabbreviate
Изначально мы разбирали команду, при помощи которой можно создавать сокращенные «шифры». То есть, аббревиатуры различных слов. Теперь самое время узнать, как удалить созданные сокращения в редакторе Vim. Благодаря команде :abbreviate была добавлена сокращенная версия «test». В результате чего появилось «tst». Удаляем сокращение следующим образом:
:unabbreviate test
Разумеется, выше был приведен лишь один из возможных примеров. Пользователь может добавлять любое сокращение из списка имеющихся аббревиатур, применяя в работе указанную команду.
- Undo
Отвечает за отмену последнего или нескольких последних изменений в файле. Исключением из правила является команда «Edit» и системные команды. Undo не сможет отменить подобное редактирование. Во всех остальных случаях достаточно использовать:
:undo
- Write
Отвечает за сохранение внесенных изменений в текстовый файл. Правильное написание:
:w
Если файл с изменениями доступен только в режиме чтения, в параметрах этой команды нужно добавить восклицательный знак. Если файл не имеет наименования, его нужно добавить к опции w.
- WQ
Является аналогом предыдущей команды. Отличается тем, что по завершению записи осуществляет закрытие редактора Vim. Правильное написание в командной строке:
:we
- Quit
Отвечает за закрытие программы и завершение её сеанса.
:q
Заключение
Применение специальных команд при работе с популярным редактором Vim значительно упрощают жизнь не только новичку, но и опытному пользователю Linux.
Все указанные опции можно применять на практике после активации расширенного режима работы редактора. Не стоит отчаиваться, если первые пробы пера не дали нужного результата. В этом деле крайне важна наработка и повторение пройденного материала.