Простое руководство по текстовому редактору Vim.
Vim — это мощный текстовый редактор с широкими возможностями настройки, который существует с 1991 года. Он известен своим модальным интерфейсом редактирования, что означает, что он позволяет пользователям переключаться между различными режимами редактирования, навигации и выбора текста. Vim широко используется программистами и другими опытными пользователями, которым нужен быстрый и эффективный способ редактирования текстовых файлов и управления ими. Одним из основных преимуществ использования Vim является его скорость и эффективность. Как только вы изучите команды и освоите интерфейс, вы сможете выполнять сложные задачи редактирования всего несколькими нажатиями клавиш.
В этом посте мы рассмотрим наиболее распространенные команды, используемые в Vim. Я включил шпаргалку сразу после этого раздела, которую можно использовать для дальнейшего использования. Шпаргалка сопровождается подробным руководством по командам. Я бы порекомендовал сначала пройти подробный раздел учебника, а затем для будущего использования вы можете просто обратиться к таблице шпаргалок.
Давайте начнем!
(Все изображения, если не указано иное, принадлежат автору.)
Обзорная таблица важных команд Vim
В следующей таблице приведены некоторые из наиболее важных команд Vim, которые вам необходимо знать. Каждая команда более подробно описана в следующем разделе.
Команды Vim — подробное руководство с реализацией
В этом разделе мы подробно рассмотрим некоторые из наиболее распространенных команд Vim. Мы также применим каждую из команд к текстовым файлам, чтобы увидеть результаты. Мы будем использовать интерфейс командной строки (CLI) для запуска команд Vim (если вам нужно освежить знания в CLI, вы можете посетить это [руководство по CLI]()). Если вы готовы, откройте интерфейс командной строки и приступим!
1. «vim"
— Создать файл
Сначала мы создадим файл с именем demo.txt
, чтобы мы могли применять команды в этом текстовом файле следующим образом:
vim demo.txt
Эта команда создает текстовый файл с помощью Vim в CLI. Как только вы запустите эту команду, вы увидите пустую страницу в CLI, похожую на эту картинку:
Как видите, файл пустой и мы видим только имя файла в левом нижнем углу. Давайте посмотрим, как мы можем добавить текст в текстовый файл.
2. «i» — вставить
Команда i
означает «вставить» и используется для входа в режим вставки в Vim. Когда вы находитесь в режиме вставки, вы можете вводить и редактировать текст так же, как и в любом другом текстовом редакторе. Чтобы использовать эту команду, просто нажмите i
в обычном режиме.
Идите вперед и нажмите i
, а затем введите следующее:
Topic: VIM Tutorial Author: Farzad Nobar If you find this helpful, follow me on Medium at: https://medium.com/@fmnobar
Убедитесь, что ничего больше не нажато. Ниже показано, как выглядит мой CLI на данный момент:
Мы видим текст на этой картинке, а также в самом низу мы видим, что мы находимся в режиме — INSERT —
. Чтобы выйти из этого режима, просто нажмите клавишу выхода на клавиатуре (обязательно сделайте это, прежде чем переходить к следующему шагу).
Пока мы добавили этот текст в файл, но еще не сохранили изменения. Давайте посмотрим на это дальше.
3. «:w» — написать
Команда :w
означает «запись» и используется для сохранения изменений в файле в Vim. Чтобы использовать эту команду, просто введите :w
в обычном режиме и нажмите клавишу возврата (или ввода) на клавиатуре. Это сохранит любые изменения, внесенные вами в файл, и ниже показано, как он выглядит в моем интерфейсе командной строки после этого изменения:
Совет для профессионалов: обратите внимание, что команда «Запись» была введена после «:». В Vim входим в «командный» режим, добавляя команду
:
. Другими словами, сначала мы входим в командный режим, набрав:
, а затем набираемw
, что в целом становится командой «Запись». Мы всегда можем выйти из командного режима, нажав кнопку выхода. Мы будем больше использовать командный режим в следующих частях.
Теперь, когда мы сохранили наши изменения, мы можем выйти (то есть закрыть) файл на следующем шаге.
4. ':q"
— Выйти
Команда :q
означает «выход» и используется для выхода из Vim. Чтобы использовать эту команду, просто введите :q
в обычном режиме (и нажмите клавишу возврата/ввода на клавиатуре). Если у вас есть несохраненные изменения в файле, Vim предложит вам сохранить их перед выходом.
5. «:wq» — написать выход
Команда :wq
означает «запись выхода» и используется для сохранения изменений в файле и выхода из Vim одной командой (вместо того, чтобы выполнять их по отдельности, как мы делали в предыдущем примере). Чтобы использовать эту команду, введите :wq
в обычном режиме. Это сохранит любые изменения, внесенные вами в файл, и закроет Vim.
6. «h», «j», «k», «l», «w», «b» — навигация по текстовым файлам.
Эти команды используются для перемещения курсора в Vim. h
перемещает курсор влево, j
перемещает его вниз, k
перемещает его вверх и l
перемещает его вправо. w
перемещает курсор в начало следующего слова, а b
перемещает курсор в начало текущего слова. Эти команды используются в обычном режиме.
Чтобы попрактиковаться в этом, откройте созданный нами файл с помощью следующей команды:
vim demo.txt
Теперь, когда у вас есть файл, открытый в Vim, вы можете использовать клавиши навигации для перемещения — попробуйте!
Совет для профессионалов. Обратите внимание, что команды для открытия существующего файла и создания нового файла одинаковы. Если файл уже существует, Vim открывает существующий файл. Если файл не существует, Vim создаст новый файл.
7. «х» — Удалить
Команда x
используется для удаления символа под курсором. Чтобы использовать эту команду, просто поместите курсор на символ, который хотите удалить, и нажмите «x» в обычном режиме.
Давайте используем это, чтобы удалить буквы «ic» из «Темы». Я вижу следующее:
Но что, если мы удалили их по ошибке? Давайте посмотрим, как мы можем отменить это действие на следующем шаге.
8. «у» — отменить
Команда u
используется для отмены изменений в Vim. Чтобы использовать эту команду, просто нажмите u
в обычном режиме.
Я дважды нажал u
, и удаления были отменены следующим образом:
9. «Ctrl-r» — повторить
Команда Ctrl-r
используется для повтора изменений в Vim. Чтобы использовать эту команду, просто нажмите Ctrl-r
в обычном режиме.
Допустим, мы передумали (снова) и на самом деле собирались удалить эти две буквы. Я дважды нажимаю Ctrl-r
и на скриншоте ниже мы видим, что буквы снова удаляются:
Хорошо. Оставим пока эти изменения. Теперь поговорим о поиске термина с помощью Vim.
10. «dd» — Удалить строку
Команда dd
используется для удаления всей строки в Vim. Чтобы использовать эту команду, просто нажмите dd
в обычной модели.
11. «/search_term» — поиск
Команда /
используется для поиска термина в Vim. Чтобы использовать эту команду, введите /
, затем термин, который вы хотите найти, и нажмите клавишу ввода. Vim подсветит следующее появление термина в файле.
Давайте попробуем. Я искал «средний», используя /medium
, и ниже приведены результаты:
Как мы видим на картинке, курсор перескочил на начало слова «средний» в последней строке текста.
Теперь давайте продолжим и выделим результаты поиска, используя: :set hlsearch
, и теперь искомый термин (т.е. «средний» в этом примере) выделен, как показано на рисунке ниже:
Мы можем отключить этот выделенный поиск, используя :set nohlsearch
.
12. «:s/search_term/replace_term/g» — заменить
Команда :s/search_term/replace_term/g
используется для замены всех вхождений термина в Vim. Чтобы использовать эту команду, введите :s/search_term/replace_term/g
в обычном режиме и нажмите Enter. Vim заменит все вхождения поискового термина замещающим термином.
Я попробовал это, заменив «Tutorial» на «guideline» следующей командой: :s/Tutorial/Guideline/g
Ниже приведены результаты:
Далее давайте поговорим о том, как мы можем скопировать текст, а затем вставить его.
13. «yy» — янки
Команда yy
используется для копирования строки текста в Vim. Чтобы использовать эту команду, просто поместите курсор на строку, которую хотите скопировать, и нажмите yy
в обычном режиме.
14. «р» — вставить
Команда p
используется для вставки скопированного или удаленного текста. Чтобы использовать эту команду, просто нажмите p
в обычном режиме.
Давайте попробуем команды yank и paste. Нажмите yy
в самом начале файла, а затем нажмите p
и посмотрите, что произойдет. Обратите внимание, что ничего не происходит, когда вы нажимаете yy
, но на самом деле это происходит в фоновом режиме. Как только вы нажмете p
, вы увидите результаты. Я случайно нажал p
дважды, и вот результаты:
15. ':set number"
— показать номера строк
Команда :set number
используется для отображения номеров строк в Vim. Чтобы использовать эту команду, введите :set number
в обычном режиме.
Это говорит само за себя. Ниже показано, как выглядит мой интерфейс командной строки после ввода команды:
16. «:set nonumber» — скрыть номера строк
Команда :set nonumber
используется для скрытия номеров строк в Vim. Чтобы использовать эту команду, введите :set nonumber
в обычном режиме.
А ниже результаты скрытия номеров строк:
17. «:set paste» — Вставить без автоматического отступа
Команда :set paste
используется для вставки текста без автоматического отступа. Чтобы использовать эту команду, введите :set paste
в обычном режиме, затем вставьте текст и введите :set nopaste
, чтобы выйти из режима вставки. Примером использования этой команды является вставка текстовых входных данных, чувствительных к отступам, таких как программные сценарии (подумайте о цикле for в Python или подобном).
18. «:set Spell» — проверка орфографии
Команда :set spell
используется для включения проверки орфографии в Vim. Чтобы использовать эту команду, введите :set spell
в обычном режиме. Vim выделит все слова с ошибками.
Давайте посмотрим, идентифицирует ли Vim что-нибудь в нашем файле:
Как и ожидалось, мое имя выделено и не распознается Vim как правильно написанное слово — я не буду принимать это на свой счет!
19. «:set nospell» — отключить проверку орфографии.
Команда :set nospell
используется для отключения проверки орфографии в Vim. Чтобы использовать эту команду, введите :set nospell
в обычном режиме.
20. «:w имя файла» — запись в файл
Команда :w filename
используется для записи содержимого текущего файла в новый файл с указанным именем. Чтобы использовать эту команду, введите :w filename
в обычном режиме.
Давайте попробуем этот. Сначала я продолжу и сохраню содержимое этого файла в новый файл с именем demo2.txt
, используя следующую команду: :w demo2.txt
. Затем я закрыл Vim (используя :q!
), а затем просматривая файлы (используя команду ls
в CLI), я вижу, что новый файл с именем demo2.txt
теперь добавлен туда. Давайте откроем его с помощью Vim и посмотрим, как это выглядит:
21. «:к!» - Выйти без сохранения
Команда :q!
используется для выхода из Vim без сохранения каких-либо изменений в файле. Чтобы использовать эту команду, введите :q!
в обычном режиме. Если вы заметили в предыдущем примере, я вышел из Vim, используя :q!
, поэтому мы ожидаем, что изменения не были сохранены. Давайте откроем demo.txt
и проверим это. Ниже приведены результаты:
Как и ожидалось, изменения не были сохранены, и я получил исходный файл.
22. «:e имя файла» — открыть файл
Команда :e filename
используется для открытия файла в Vim. Чтобы использовать эту команду, введите :e filename
в обычном режиме.
Теперь, когда у нас открыт файл demo.txt
, давайте откроем второй файл с именем demo2.txt
с помощью этой команды, и ниже приведены результаты:
Как и ожидалось, второй файл был открыт.
23. «:set tabstop=4» — установить ширину вкладки
Команда :set tabstop=4
используется для установки ширины вкладок в Vim на 4 пробела. Чтобы использовать эту команду, введите :set tabstop=4
в обычном режиме.
Давайте попробуем этот. Сначала я установлю табуляцию на 4, войду в режим вставки, а затем добавлю табуляцию в начало второй строки в файле, и ниже приведены результаты:
Теперь давайте изменим размер табуляции на 8 и посмотрим, как он изменится:
Обратите внимание, что изменение было применено автоматически к существующей вкладке в файле, а размер вкладки был увеличен с 4 до 8, как показано на рисунке выше.
24. «:set expandtab» — используйте пробелы вместо табуляции
Команда :set expandtab
используется для замены табуляции пробелами в Vim. Чтобы использовать эту команду, введите :set expandtab
в обычном режиме. Это говорит само за себя, поэтому давайте перейдем к следующей команде.
25. «:set синтаксис=python» — подсветка синтаксиса
Команда :set syntax=python
используется для включения подсветки синтаксиса для кода Python в Vim. Чтобы использовать эту команду, введите :set syntax=python
в обычном режиме.
У меня возник соблазн включить это, потому что это связано с тем, что я делаю, и я ежедневно использую Python. Чтобы проверить это, давайте выполним следующие шаги:
1. Откройте новый файл Python с помощью Vim: vim demo.py
2. Вставьте следующую команду (выбранную из моего поста о Многомерном анализе)
# Import libraries import numpy as np import pandas as pd import seaborn as sns from scipy import stats import matplotlib.pyplot as plt %matplotlib inline # Show all columns/rows of the dataframe pd.set_option("display.max_columns", None) pd.set_option("display.max_rows", None) # Read the data df = pd.read_csv('auto-cleaned.csv') # Return top 5 rows of the dataframe df.head()
Ниже приведены результаты, которые я вижу:
3. Затем я устанавливаю синтаксис Python, используя: :set syntax=python
4. Затем я включаю синтаксис, используя: :syntax on
Ниже приведены результаты, которые соответствуют синтаксису Python, как и ожидалось:
Как и ожидалось, синтаксис Python распознается и выделяется цветом.
Заключение
В этом посте мы представили Vim, универсальный текстовый редактор с интерфейсом командной строки (CLI), используемый программистами и опытными пользователями. Затем мы рассмотрели некоторые из наиболее распространенных команд, используемых в Vim, а также примеры для каждой из них. Я надеюсь, что к концу этого урока вы почувствуете себя более комфортно в использовании Vim в будущем и начнете интегрировать его в свои повседневные действия по редактированию текста.
Спасибо за прочтение!
Если вы нашли этот пост полезным, пожалуйста, подпишитесь на меня на Medium и подпишитесь, чтобы получать мои последние сообщения!