Работа с редактором vim — функции и команды

Командный режим

Используется для продвинутого редактирования, изменения параметров и управления. В нем выполняется сохранение, выход из программы, продвинутый поиск и многое другое. Активируется клавишей двоеточия “:”.

Команды управления

Команды управления задаются вводом “:” перед каждой командой.

:q — выход из программы. Действие не будет выполнена, если не сохранить изменения:q! — выход из программы с отменой всех изменений, которые не были сохранены:w — сохранить изменения. При первичном сохранении или сохранении в другой файл укажите имя через пробел:e — редактировать указанный далее файл:bn — редактировать следующий файл (если открыто несколько файлов):bp — редактировать предыдущий файл (если открыто несколько файлов):qw – сохранить файл и выйти

Объединение команд

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

Например, для копирования 5 слов представьте эту фразу как команды, которые понимает vim. Это будет выглядеть так:

:y5w (y — копировать, 5 — количество, w — слов)

Удалить текст от текущей позиции до окончания файла:

:dG (d — удалить, G — переход в конец файла)

Также полезно усвоить ряд используемых в действиях vim принципов. Например, сдвоенный символ обычно распространяет действие команды на всю строку. Следующая команда скопирует не один символ, а строку целиком:

:yy

С другой стороны, соответствующая команде заглавная буква часто действует от положения курсора до окончания линии. В случае с изменением текста это будет следующая команда:

:C

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

:2C

Как установить

Перейдите на сайт vim.org и поставьте подходящую версию Vim на компьютер. Десктопный редактор — это полигон для тренировок. Здесь вы можете запустить тестовый проект или начать писать текстовые заметки. Основная задача: привыкнуть к новому сочетанию клавиш, научиться быстро переключаться между режимами и перестать пользоваться мышкой с трекпадом. 

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

Стартовая страница учебника Vim. Учебник можно вызвать через «Справку» или команду vimtutor. Во время тестов мы скачали несколько версий редактора, и команда vimtutor срабатывала не всегда. Поэтому рекомендуем пользоваться «Справкой» — она надёжней

Настройка

Файл конфигурации Vim для конкретного пользователя расположен в домашней директории — , файлы текущего пользователя в . Общий файл конфигурации — , а общие файлы находятся в .

Буфер обмена

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

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

Для более подробной информации смотрите .

Чтобы включить подсветку синтаксиса для многих языков программирования:

:filetype plugin on
:syntax on

Отступы для определенного типа файла:

:типфайла indent on

Визуальный перенос

Опция (включена по умолчанию) указывает Vim переносить длинные строки, которые не помещаются на экран, так, что оставшаяся часть строки отображается на следующей линии. Опция влияет только на отображение текста, сам текст при этом не изменяется.

Изначально перенос строки происходит ровно в том месте, где размещается последний ее символ, поместившийся на экране, даже если он находится в середине слова. Для более умного переноса используйте опцию . Когда эта опция включена командой , перенос строки происходит только после символов, которые перечислены в опции , которая по умолчанию содержит в себе пробел и некоторые знаки препинания (смотрите ).

autocmd FileType python set breakindentopt=shift:4

Использование мыши

Vim позволяет пользоваться мышью, но только в тех терминалах, которые это поддерживают:

  • xterm/urxvt
  • Консоль linux с (смотрите подробнее на странице Console mouse support)
  • PuTTY

Чтобы включить поддержку мыши, добавьте в :

set mouse=a

Опция устанавливается в

Примечание: Копирование/вставка будут использовать регистр , если есть доступ к X серверу; смотрите раздел . xterm по-прежнему может обрабатывать нажатия мыши, когда зажат .

Переход на новую строку с помощью клавиш со стрелками

По умолчанию, при нажатии в начале строки или в конце, курсор не переводится на следующую/предыдущую строку.

Это можно исправить с помощью добавления строки в ваш файл .

Перемещаемся по документу

Перемещения в Vi, часть 1

Находясь в командном режиме, вы можете использовать клавиши <h>,<j>,<k> и <l> для перемещения курсора влево, вниз, вверх и вправо соответственно. Если вы используете современную версию Vi, вы можете также с этой целью использовать клавиши со стрелками. Клавиши <h>,<j>,<k> и <l> предпочтительнее, так как освоившись с ними вы сможете перемещаться по файлу, не размахивая руками над клавиатурой. Для перемещения по текстовому файлу используйте следующие клавиши:

  • j – перемещает курсор вниз;
  • k – перемещает курсор вверх;
  • h – перемещает курсор вправо;
  • l – перемещает курсор влево.

Попробуйте использовать <h> пока не дойдете до начала строки. Отметьте, что Vi не даст вам перескочить на предыдущую строку, нажимая <h>, если вы находитесь в начале строки. Точно также он не позволит вам перескочить на следующую строку, нажимая <l> в конце строки.

Перемещения в Vi, часть 2

Vi предоставляет специальные команды для прыжков в начало и конец текущей строки:

  • 0 (ноль) – перескочить на первый символ в строке;
  • $ – перескочить на последний символ в строке.

Поскольку у Vi так много команд перемещения, его можно использовать в качестве великолепного инструмента просмотра — «pager»а (как команды more или less). Используя Vi для просмотра, вы очень быстро запомните все команды перемещения.

Вы также можете использовать <C-F> и <C-B> для перемещения вперед и назад сразу на страницу. Современные версии Vi (такие как Vim) могут позволить использовать для этих целей клавиши <PageUp> и <PageDown>.

Комбинация <C-F> означает комбинацию клавиш <Ctrl>+<F>. Во многих источниках про Vim можно встретить именно такое обозначение комбинация клавиш. Часто еще можно встретить и такое обозначение: ^F

Перемещение по словам, часть 1

Vi также позволяет вам перемещаться влево и вправо по словам:

  • w – перемещения на первый символ следующего слова нажмите;
  • e – передвинуться на следующий последний символ слова нажмите;
  • b – сдвинуться на предыдущий первый символ слова можно нажимая.

Перемещение по словам, часть 2

Позабавившись с командами перемещения по словам, вы могли заметить, что Vi считает слова типа «foo-bar-oni» пятью различными словами! Это происходит потому, что Vi по умолчанию разделяет слова пробелами или знаками пунктуации (которые тоже считает словами). Поэтому foo-bar-oni считается пятью словами: «foo»,«-»,«bar»,«-» и «oni».

Иногда вам так и надо, а иногда — нет. К счастью, Vi воспринимает понятие «большого слова». vi разделяет большие слова только пробелами и началами строк. Это значит, что foo-bar-oni состоит из пяти Vi-слов, но является только одним большим словом Vi.

Перемещение по словам, часть 3

Чтобы переместиться на следующее или предыдущее большое слово, вы можете использовать «заглавные» команды перемещения по словам. Нажав следующие клавиши, вы попадете на:

  • W — первый символ следующего большого слова;
  • E — следующий последний символ большого слова;
  • B — предшествующий первый символ большого слова.

Дальние переходы

Осталось рассмотреть еще несколько команд, и можно будет начинать их записывать на шпаргалку. Вы можете использовать скобки:

  • ( и ) чтобы перейти на начало предыдущего и следующего предложения.
  • { или } (фигурные скобки) – Позволят перескочить в начало параграфа.

Из командного режима в безопасность

Чтобы войти в командный режим, нажмите клавишу Esc. Ничего видимого не произойдет. Хит еще несколько раз. Если при нажатии клавиши Escape вы услышите звуковой сигнал, значит, вы находитесь в командном режиме. Звуковой сигнал говорит вам: «Прекратите нажимать Esc, вы уже в командном режиме». Если вы слышите звуковой сигнал, когда нажимаете Esc, мы в порядке.

Введите двоеточие, букву «q» и восклицательный знак без пробелов. Эти три символа должны появиться в крайнем левом углу нижней строки терминала. Если этого не произойдет, нажимайте Esc, пока не услышите звуковой сигнал, и повторите попытку. Нажмите клавишу Enter, когда вы сможете их увидеть:

  : Д! 

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

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

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

  кошка .bashrc |  Меньше 

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

Плагины

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

Совет: For a list of popular plugins, see Vim Awesome)

Установка

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

В Vim 8 добавлена возможность загрузки сторонних плагинов. Чтобы использовать эту функциональность, переместите плагины в .

Используя менеджер плагинов

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

Из репозиториев Arch

Группа объединяет множество разнообразных плагинов. Используйте команду для отображения списка пакетов, которые вы можете затем , используя pacman.

cscope

Установите пакет .

Скопируйте стандартный файл cscope, который Vim будет автоматически читать:

Примечание: Вам наверное понадобится откомментировать следующие строки в , чтобы включить горячие клавиши cscope в Vim 7.x:

set timeoutlen=4000
set ttimeout

Создайте файл, который содержит список файлов для индексации (cscope может обрабатывать множество языков, но для примера мы возьмем файлы на Си/Си++ с расширениями .c, .cpp и .h):

cd /путь/к/каталогу/проекта
find . -type f -print | grep -E '\.(c(pp)?|h)$' > cscope.files

Создание файлы базы данных, которые cscope будет читать:

cscope -bq

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

Горячие клавиши по умолчанию:

 Ctrl-\ и
      c: найти функции вызывающие эту функцию
      d: найти функции вызываемые этой функцией
      e: найти egrep паттерн
      f: найти этот файл
      g: найти это определение
      i: найти файлы, включающие этот файл (#include)
      s: найти этот символ Си
      t: найти присвоения

Не стесняйтесь изменять горячие клавиши:

#Maps ctrl-c to find functions calling the function
nnoremap <C-c> :cs find c <C-R>=expand("<cword>")<CR><CR>

Установите пакет AUR.

Полезные опции можно записать в :

let Tlist_Compact_Format = 1
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Close_On_Select = 1
nnoremap <C-l> :TlistToggle<CR>

Факты и удовольствие от выхода из Vim

Если вы чувствуете себя немного подавленно, потому что не знаете, как бросить Vim, не делайте этого. Потому что ты не единственный. По данным Stack Overflow, более миллиона разработчиков по всему миру искали способ выхода из Vim.

Фактически, выход Vim стал предметом обсуждения в популярной культуре. Возьмите этот твит для примера. Это одна из самых популярных забавных подсказок о «сложности» выхода из Vim:

Я использую Vim уже около 2 лет, в основном потому, что не могу понять, как выйти из него.

Что несколько удивительно, потому что если вы запустите Vim, вы увидите информацию о том, как выйти из Vim на заставке:

Но тогда очевидные вещи не так очевидны порой. Забавно, что мы настолько привыкли к сочетаниям клавиш Ctrl + S, Ctrl + X, что это сбивает нас с толку, когда мы не можем найти такие же «стандартные» сочетания клавиш в других местах.

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

Я надеюсь, что это руководство помогло вам сохранить Vim и выйти из нее. Делитесь своими взглядами и мыслями по этому поводу.

Быстрый старт

Открываем файл в текстовом редакторе командой vi /путь/имя_файла, например:

Команда sudo используется в том случае, если для открытия файла нужны повышенные привилегии (например, редактирование системных конфигурационных файлов). Указанный файл откроется в текстовом редакторе:


Скриншот №1. Команда sudo

Перемещаем курсор по тексту с помощью стрелок или клавиш h (влево), l (вправо), j (вниз), k (вверх) до нужного места в тексте.

Переводим открытый файл в режим редактирования текста нажатием клавиши i (раскладка клавиатуры должна быть англоязычной). В результате в нижней части экрана появится индикация режима работы — INSERT:


Скриншот №2. Режим редактирования текста

Вносим в текст необходимые корректировки.

Выходим из режима редактирования нажатием клавиши Esc — индикатор INSERT в нижней части экрана должен исчезнуть.

Теперь необходимо закрыть файл, сохранив внесенные изменения. Для этого набираем:

Данный набор символов также должен отобразиться в нижней части окна. Буква w помогает сохранить файл на диск (write), q — завершить работу редактора (quit):


Скриншот №3. Сохранение изменений в файле

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

Вставьте шутку про штепсель

Главным оружием для настройки нашего друга явлются плагины. По сути дела, это просто отдельные файлы с кодом на VimScript, которые исполняются при загрузке вашего файла настроек (~/.vimrc или ~/.config/nvim/init.vim) командой source. Ручками скачивать всё это довольно больно, поэтому великие умы человечества придумали пакетные менеджеры… для Вима!

Главная задача пакетного менеджера — скачать указанные плагины с гитхаба, предоставить пользователю удобный интерфейс по управлению ими и, собственно, подключать их при загрузке Вима. Есть, конечно, минималистичные менеджеры по типу Pathogen (который занимается преимущественно только третьим), но мы настолько усложнять себе жизнь не будем.

Нашим подопечным сегодня выступит vim-plug. Но, прежде чем вы пойдёте его устанавливать, сначала нужно добавить пару строчек в ваш конфиг:

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

Тогда при следующем запуске Вима, менеджер будет автоматически установлен, но его команды работать не будут и вы увидите ошибку. Хочу также заметить, что у вас в системе должен стоять curl, а для Neovim нужно поменять на . Прежде чем вы перезапустите ваш редактор, предлагаю также добавить в настройки следущие строчки. Не забудьте изменить этот код для Neovim аналогично прошлому разу:

С этого момента у вас всё должно работать. Далее мы будем добавлять плагины меж этих строк по следующей схеме:

Слишком сложно…

Советы и рекомендации

Нумерация строк

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

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

Проверка орфографии

Проверку орфографии в Vim можно включить с помощью:

set spell
Действие Команда
следующая ошибка
предыдущая ошибка
предложения для исправления
добавить правильное написание
добавить правильное написание (на сеанс)
добавить неправильное написание
добавить неправильное написание (на сеанс)
повторить проверку орфографии во всем файле

Совет:

  • Чтобы включить проверку сразу для двух языков (например, английского и русского), добавьте в или и перезапустите Vim.
  • Вы можете включить проверку орфографии для конкретных типов файлов (например .txt), используя плагин FileType и собственное правило для определения типа файла. Чтобы включить проверку орфографии для всех файлов, оканчивающихся на .txt, создайте файл и вставьте туда строку: . Далее, вставьте строку в файл или и перезапустите Vim. Или поместите строку в или и перезапустите Vim. Не забудьте отредактировать строчку (specifically ), чтобы включить соответствующие типы файлов для проверки орфографии.
  • Чтобы включить проверку орфографии только для документов LaTeX (или TeX), добавьте в файл или и перезапустите Vim.

Запуск Vim по команде vi

Создайте для на .

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

Возврат каретки DOS/Windows

Если вы видите последовательность в конце каждой линии, это означает, что вы редактируете текстовый файл, который был создан в MS-DOS или Windows. Дело в том, что в Linux для переноса принято использовать один символ новой строки (LR), тогда как в системах Windows/MS DOS для той же цели используется последовательность из двух символов: возврата каретки (CR) и новой строки (LR). Как раз эти символы возврата каретки и отображаются в виде .

Для удаления всех символов возврата каретки из файла, выполните:

:%s/^M//g

Обратите внимание, что здесь — управляющий символ, а не обычный. Чтобы ввести управляющую последовательность , нажмите .. Также вы можете просто установить пакет и исправлять файлы командой .

Также вы можете просто установить пакет и исправлять файлы командой .

Примечание: Другой простой способ заключается в изменении опции . Используйте для преобразования файлов с окончанием строки DOS/Windows в файлы с окончанием строки Unix. Для того, чтобы сделать обратное, просто используйте .

Пустое пространство в нижней части окон gVim

Когда используется оконный менеджер, настроенный на игнорирование размеров окна, gVim заполняет неиспользованные области окна стандартным фоновым цветом темы GTK.

Решение заключается в регулировании количества места, которое будет резервировать в нижней части окна gVim. Поместите следующую строку в :

set guiheadroom=0

Примечание: Установив значение 0, вы не сможете видеть горизонтальную полосу прокрутки внизу окна.

Кому подходит

Vim считается нестандартным инструментом со множеством недостатков: 

  • его сложно и долго изучать, поскольку без использования основных команд сам по себе редактор не даёт прироста в скорости;
  • у него нет коробочной версии, чтобы можно было установить и сразу решать большинство программистских задач;
  • все доступные плагины работают хуже тех, что предлагает любая современная среда разработки. 

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

Ещё Vim не подходит новичкам, которые только записались на курсы и ничего не знают о выбранной технологии — нужны хотя бы базовые навыки программирования, чтобы не допускать грубых ошибок при написании кода. Vim тебя не корректирует. 

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

Комментарий типичного вимера. Если узнали себя — однозначно стоит попробовать. Источник

Основы настройки клавиш

Одна из самых полезный возможностей файла конфигурации — установить нужные вам действия, при нажатии каких-либо клавиш на клавиатуре. Приведём пример, вы часто переключаете относительную нумерацию строк. Чтобы не печатать :call TRelative каждый раз, использование горячей клавиши будет гораздо быстрее. Для этого нам пригодится команда map

С этой строкой в файле .vimrc, если нажать Control-T, относительная нумерация будет включаться и выключаться. Попробуйте теперь сами, установить клавишу для переключения обычной нумерации.

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

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

Чтобы предотвратить подобного рода ситуацию, вы должны добавить nore после режима и до map. Следовательно, nmap станет nnoremap, vmap станет vnoremap, и imap станет inoremap. Тем самым вы всегда будите ссылаться на сочетание клавиш, которое стоит по умолчанию. Эти команды гораздо безопаснее использовать в конфигурационном файле.

Перемещение

Вы всегда можете передвигаться по документу стрелками, но vim предоставляет более быстрый и удобный способ. В нормальном режиме для навигации применяются следующие клавиши:

h — перемещение влевоj — перемещение внизk — перемещение вверхl — перемещение вправо

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

Также есть дополнительные функции навигации, вот несколько наиболее важных:

gg — переход в начало документаG — переход в конец документа. Если предварительно ввести номер — переместиться на строку с этими номеромw — перемещение к следующему слову. Если предварительно ввести количество — переместиться на это количество словb — перемещение к предыдущему слову. Если предварительно вввести количество — переместиться на это количество слов назадe — перемещение к концу слова. Если предварительно указать количество — переместиться на указанное количество слов — перемещение к началу строки$ — перемещение к концу строки

Поиск текста

Что бы найти фрагмент текста, нужно перед текстом поиска ввести слэш «/» и нажать enter

/это 

По умолчанию поиск в vim регистрозависимый, для того что бы сделать поиск независимый от регистра, нужно перед текстом ввести следующую комбинацию "/\c"
/\cэто

Если же наоборот нужно сделать явное задание регистрозависимого поиска используйте комбинацию «/\C»

/\СЭто будет

Что бы найти следующий фрагмент нажмите «n» предыдущий «N»

Дальше — больше

Приведенной выше информации вполне достаточно, чтобы открывать, редактировать и сохранять файлы в текстовом редакторе Vim, однако у него есть возможности, которые могут существенно упростить и ускорить работу. Стоит начать с пояснения: Vi был одним из первых визуальных текстовых редакторов, однако начиная с определенной версии программный продукт стал доступен только под коммерческой лицензией. Энтузиасты начали разрабатывать свои аналоги этого текстового редактора, одним из которых является Vim (сокращение от Vi Improved — Vi  усовершенствованный). Vim получил широкое распространение в *nix-дистрибутивах и при запуске команды vi в консоли вероятнее всего откроется именно он.

Прежде всего нужно понять, что Vim может работать в нескольких режимах, каждый из которых обладает своими особенностями и набором поддерживаемых функций. Сразу после запуска редактора вы окажетесь в обычном режиме (normal). Здесь можно не только перемещать курсор по тексту, но и выделять/удалять/копировать/вставлять как отдельные символы, так и целые блоки текста. Эти задачи выполняются нажатием соответствующих букв и цифр (причем регистр букв имеет значение), точка отсчета — текущее положение курсора. Рассмотрим навигацию по файлу:

  • h — смещение курсора на один символ влево;
  • j — смещение курсора на один символ вниз;
  • k – смещение курсора на один символ вверх;
  • l – смещение курсора на один символ вправо;
  • w – смещение курсора в начало следующего слова в данной строке;
  • b – смещение курсора в начало предыдущего слова в данной строке;
  • G – переместить курсор в конец файла;
  • gg – вернуться в начало файла.

Действия навигации также можно совмещать с цифрами, например, комбинация 3w сместит курсор вперед на три слова, а 5k на пять строк вверх.

Часто используемые операции c текстом:

  • x — удалить символ под курсором;
  • d — удалить символы/строки;
  • dd — удалить строку целиком;
  • D — удалить символы от текущего положения курсора до конца строки;
  • v — включить режим выделения текста;
  • y — скопировать символы/строки;
  • yy — скопировать строку целиком;
  • p — вставить символы/строки;
  • u — отменить последнее действие.

Функции удаления и копирования требуют дополнительного пояснения, ведь при нажатии d или y вроде бы ничего не происходит. Дело в том, что редактор ожидает дальнейших указаний — сколько строк символов нужно удалить/скопировать и в каком направлении от текущего положения курсора вести отсчет. Чтобы удалить пять символов вправо от курсора, нужно последовательно нажать d5l, чтобы скопировать три строки, следующие после курсора — y5j. Если имеется выделенный текст, для его копирования достаточно нажать y.

Имеется в Vim и функция поиска:

  • /шаблон — все вхождения набора символов, указанного после (слэша) будут подсвечены в тексте;
  • n — сместить курсор к следующему вхождению;
  • N — сместить курсор к предыдущему вхождению.

Другой режим работы Vim — режим редактирования. Переключиться в него можно несколькими способами:

  • i — режим вставки (INSERT), ввод начинается с позиции курсора;
  • a — режим вставки (INSERT), ввод начинается с позиции, следующей за курсором;
  • A — режим вставки (INSERT), курсор перемещается в конец текущей строки;
  • R — режим замены (REPLACE), все вводимые символы будут последовательно заменять находящиеся под курсором.

Если нужно заменить всего один символ, находящийся под курсором, достаточно нажать r и нужный символ — замена будет произведена без перехода в режим редактирования. Внизу экрана появляется соответствующий индикатор режима — INSERT или REPLACE. Вернутся в общий режим можно нажатием кнопки Esc (индикатор должен пропасть).

Еще один режим работы Vim — командный. Переход в него осуществляется из общего режима нажатием (двоеточия). Соответствующий индикатор появляется в нижнем левом углу окна, после чего можно вводить команды и их сочетания.

  • :q — выйти из редактора;
  • :q! — выйти из редактора без сохранения изменений в файле;
  • :w — сохранить изменения в файл;
  • :wq — сохранить изменения и закрыть редактор;
  • :r имя_файла — добавить содержимое указанного файла в редактируемый;
  • :r! команда_консоли — выполнить команду и добавить ее вывод в файл.

How to Save a File in Vim / Vi and Quit the Editor

26 Апреля 2020
&vert;

Терминал

В этом руководстве объясняется, как сохранить файл в Vim / Vi и выйти из редактора.

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

Vim или его предшественник Vi предустановлен на MacOS и почти во всех дистрибутивах Linux. Знание основ Vim поможет вам, когда вы столкнетесь с ситуацией, когда ваш любимый редактор недоступен.

Vim режимы

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

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

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

Открыть файл в Vim / Vi 

Чтобы открыть файл с помощью типа Vim, за которым следует имя файла, который вы хотите отредактировать или создать:

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

Сохранить файл в Vim / Vi 

Команда для сохранения файла в Vim есть .

Чтобы сохранить файл без выхода из редактора, вернитесь в обычный режим, нажав , введите и нажмите .

  1. Нажмите
  2. Нажмите

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

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

Сохранить файл и выйти из Vim / Vi 

Команда для сохранения файла в Vim и выхода из редактора есть .

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

  1. Нажмите
  2. Нажмите

Еще одна команда для сохранения файла и выхода из Vim .

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

Выйти из Vim / Vi без сохранения файла 

Чтобы выйти из редактора, не сохраняя изменения, перейдите в обычный режим, нажав , введите и нажмите .

  1. Нажмите
  2. Нажмите

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: