Я знаю, что это скорее общий вопрос linux, но w / e. Поэтому, когда я ввожу такую программу, как vim, в командной строке, она отображает весь текст в файле, и я могу редактировать его и т.д. Но я не могу понять, как закрыть или сохранить файл и вернуться к командной строке, не прерывая процесс. Любая помощь приветствуется.
В vim есть 3 различных режима:
- Вставка - позволяет вводить и редактировать текст в обычном режиме.
- Визуальный - используется для выбора копирования / вставки и т.д.
- Обычный - используется для команд
Чтобы вернуться в обычный режим, вы всегда можете нажать esc.
Как только вы перейдете в обычный режим, нажмите :
чтобы начать свою команду (вы увидите, что она появится в левом нижнем углу). Следующие команды связаны с выходом из vim:
-
:q
- выйти, если никаких изменений внесено не было -
:q!
- завершите работу и уничтожьте все внесенные изменения -
:wq
- внесите изменения (сохраните) и завершите работу -
:x
- похоже на:wq
, запишите файл только в том случае, если были внесены изменения, а затем завершите работу
Во-первых, нажмите на escape ключ.1
Затем просто введите ZZ
(это две заглавные буквы Z подряд).
Или введите :x
. Либо сохранит любые изменения и уйдет.
Вы также можете использовать :wq
В качестве альтернативы вы можете ввести :q
(он же, "уходи, пожалуйста") Это завершится только в том случае, если вы не вносили изменений.
Если вы внесли изменения и хотите отменить их и оставить, введите :q!
(он же "уходи, черт возьми!")
1 : Это гарантирует, что вы находитесь в "командном" режиме. Который вам нужен для ввода команд, например тех, которые необходимы для выхода.
К большому нашему неудобству, не существует общего метода выхода из программ командной строки, такого как кнопка "X" для графических программ.
Многие программы командной строки придерживаются темы использования либо Q (например man
и top
) или Ctrl+C (например ping
и watch
) для выхода, но это значительно варьируется, особенно среди текстовых редакторов:
-
Сила в частности, используется неясная комбинация
:q!
затем Enter, обычно предшествующему нескольким нажатиям Esc для пущей убедительности. - Emacs, еще один драгоценный камень, предпочитает Ctrl+X с последующим Ctrl+C.
Редакторы, подобные этому, - ловушки для неопытных. Мои личные предпочтения и рекомендации заключаются в том, чтобы при необходимости редактировать текст в командной строке использовать вместо этого более понятный Собственный редактор Джо (ДЖО).
Наряду с ответом Джондавидджона, вот две ссылки, которые содержат необходимую информацию об использовании vim.
-
Это изображение клавиатуры, которое показывает вам, что делает каждая клавиша, в зависимости от того, находитесь ли вы в режиме редактирования, командном режиме или визуальном режиме:
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
-
Это лучший учебник по vim, с которым я когда-либо работал. Он разговорный и понятный, что связано с его форматом IRC / обмена мгновенными сообщениями.
Наконец, есть такие, как aendruk, которые просто не хотят использовать продвинутые текстовые редакторы командной строки. Vim, в частности, имеет крутую кривую обучения, и на самом деле требуется некоторое первоначальное усилие, чтобы привыкнуть к нему. Но он очень быстрый и очень мощный. Если у вас есть интерес к Linux помимо базового использования на рабочем столе, стоит потратить время на изучение приличного текстового редактора командной строки, такого как Vim или Emacs. Если вам просто нужно отредактировать какой-то текст, и вам все равно, кроме этого, попробуйте ввести gedit filename.txt
вместо. Он запустит знакомую графическую программу, очень похожую на Блокнот из Windows.
если Esc :q!
не работает,
попробуй сначала Ctrl+q (чтобы разблокировать экран, который был заблокирован с помощью Ctrl+s)
затем повторите попытку Esc :q!
(чтобы выйти без сохранения) или Esc :wq
(чтобы сохранить и выйти)
Хотите выйти без сохранения:
- Удар ESC
- Удар ZQ
Выход с сохранением:
- Удар ESC
- Удар ZZ
Related across SE: How to exit the Vim editor?, this blog post, How to exit VIM and get back to ‘normal’ terminal?, How do I quit from Vi?, Exit vim more quickly, this tag wiki, and [What are the differences between :wq :x