Как выйти из редактора Vi или Vim

Опубликовано: 2022-01-29

редактор vi в Ubuntu Linux

Редактор vi сбивает с толку, если вы к нему не привыкли. Требуется секретное рукопожатие, чтобы выйти из этого приложения, если вы наткнулись на него. Вот как выйти из vi или vim в Linux, macOS или любой другой Unix-подобной системе.

Быстрый ответ

Если вы работаете в vi или vim и вам нужно выйти — с сохранением изменений или без — вот как это сделать:

  • Сначала несколько раз нажмите клавишу Esc. Это гарантирует, что vi выйдет из режима вставки и перейдет в командный режим.
  • Во-вторых, введите :q! и нажмите Enter. Это говорит vi выйти без сохранения каких-либо изменений. (Если вы хотите сохранить изменения, введите вместо этого :wq .)

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

vi, вездесущий редактор

Поскольку vi есть везде, велика вероятность, что вы столкнетесь с ним. Вы даже можете случайно оказаться внутри vi . Возможно, кто-то попросит вас взглянуть на его компьютер с Linux. Вы вводите команду вроде crontab -e , и появляется vi . Удивительно, но кто-то настроил редактор по умолчанию для crontab как vi .

Возможно, вы администрируете систему, в которой vi является единственным редактором или единственным, который будет работать через удаленный сеанс SSH, и вам нужно отредактировать пользовательский файл .bashrc.

Реклама

Команда для запуска vi и открытия файла проста. Введите vi , пробел, а затем имя файла. Нажмите Ввод. Запускаемой программой может быть vi или vim , «улучшенный vi ». Это зависит от вашего дистрибутива Linux — например, Ubuntu использует vim . Все инструкции в этой статье в равной степени применимы и к vim .

 vi .bashrc

.bashrc в vi

Сразу заметная разница между vi и другими редакторами заключается в том, что при запуске vi вы не можете просто начать печатать текст. Это потому, что viмодальный редактор. Редактирование осуществляется в одном режиме, режиме Вставки, а выдача команд производится в Командном режиме. vi запускается в командном режиме.

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

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

Плохая попытка редактирования в vi

Командный режим и режим вставки

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

Командный режим является режимом по умолчанию при запуске vi . Если вы не знаете лучше, вы начнете пытаться печатать. Если вы случайно нажмете клавишу «i» или любую из 10 других клавиш, которые вызывают режим вставки (a, A, c, C, I, o, O, R, s и S), вы внезапно увидите, что вы печатаете. Теперь вы находитесь в режиме вставки.

Реклама

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

Все в порядке, мы тебя прикроем. Это удивительно легко, когда вы знаете, как это сделать. Запомните эти два нажатия клавиш: Esc переводит вас в командный режим, а «i» — в режим вставки.

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

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

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

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

 :к! 

:к! команда в ви

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

Реклама

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

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

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

.bashrc меньше

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

нет записи с момента последнего сообщения об изменении

Если вы уверены, сохраните изменения

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

Введите двоеточие, букву w (написать) и букву q (выйти). Нажмите клавишу Enter, когда вы увидите их в левом нижнем углу терминала:

 :wq 

Команда :wq в vi

Кривая обучения того стоит

Использование vi немного похоже на использование пианино. Вы не можете просто сесть и использовать его; вы должны попрактиковаться. Сидеть холодно и пытаться учиться на лету, когда на вас давят, чтобы что-то отредактировать, — это не способ сделать это. Это так же важно, как сесть за пианино в первый раз, когда поднимается занавес перед первым концертом.

Реклама

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

До тех пор, если вы окажетесь в vi и просматриваете важный файл, просто :q! и выйти изящно. Ваш важный файл будет вам благодарен.