Команда выйти из программы

Содержание

Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).

Она точно будет полезна начинающим своё знакомство с Linux и, уверен, пригодится тем, кто уже имеет опыт (не всегда годы практики учат работать быстрее).

Никогда не развивал навыка быстрой печати, но знание не одного десятка hotkey’ев, перечисленных в этом материале, позволяет набирать команды со скоростью мысли.

Я попытался продемонстрировать многие примеры при помощи анимированных gif’ок – иногда несколько кадров больше скажут, чем несколько абзацев текста.

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

На выход! | Выпуск 18

Общие слова и замечания

Большинство продемонстрированных клавиш стандартны для «командной строки Linux», но часть из этих комбинаций специфичны для bash (поэтому и пометил это в заголовке). На текущий момент BASH – наиболее распространенный командный интерпретатор, используемый по умолчанию в большинстве Linux-дистрибутивов. В других командных интерпретаторах или, проще говоря, shell’ах (рекомендую попробовать zsh и fish) могут быть небольшие отличия в работе. Также часть комбинаций прописана в «настройках по умолчанию» (например, в файле /etc/inputrc или в /etc/bashrc), которые тоже могут различаться в разных дистрибутивах. И бывает, что некоторые клавиши могут быть настроены и перехватываться графической оболочкой, в которой запущен командный интерпретатор.

Если вдруг что-то из указанного мной в этой статье у вас не сработало, пишите в комментариях «название — версию shell и название — версию дистрибутива».

Часть демонстрируемых клавиш относятся к «настройкам терминала». А часть – клавиши из командного интерпретатора BASH, и их можно посмотреть, почитав мануал по bash’у (огромный текст – пользуйтесь поиском):

[00:10:40]

^^^ На приведенном фрагменте из мануала: Запись «(C-r)» означает Ctrl-r , а «M->» означает Alt-> .

«M» — это «Meta-клавиша»

Из истории: «М» — это «Metа-клавиша», сейчас вместо неё используется клавиша Alt , либо клавиша Esc . Я чаще в её качестве буду использовать клавишу Alt .

Замечание: Если у кого-то настроено переключение раскладки по комбинации Alt-Shift , то учитывайте, что в комбинациях, перечисленных далее и содержащих Alt-Shift , вам надо будет использовать скорее клавишу Esc-Shift (или поменять комбинацию для переключения раскладки клавиатуры, у меня, например, раскладка переключается по CapsLock ).

На выход! | Выпуск 1

^^^ Здесь показано на примере использования комбинаций для перемещения по «словам» командной строки: Alt-b (или, что то же самое, Esc-b ) и Alt-f (или, что то же самое, Esc-f )

Для демонстраций нажатых клавиш использую утилиту «screenkey».

Upd: При этом стоит упомянуть, что по умолчанию bash использует emacs-режим редактирования командной строки и поэтому многие комбинации клавиш пришли из редактора emacs. Для знающих редактор vi, могу порекомендовать переключить (добавив «set -o vi» в ~/.bashrc) bash в vi-режим редактирования и пользоваться привычными комбинациями из vi.

Терминал

Итак, начнем с клавиш из настроек терминала. Их можно посмотреть, выполнив команду:
♯ stty -a

А перенастроить, например, так:
♯ stty intr НоваяКлавиша

Ctrl-c – сигнал SIGINT

Первые две комбинации клавиш достаточно важные, и часто «недавно перешедшие с Windows на Linux» НЕправильно их используют: продолжая, как в DOS, для завершения команд использовать комбинацию «Ctrl-z», что неверно. В Linux же для того, чтобы попросить (команде посылается сигнал SIGINT) приложение прервать свою работу, используется Ctrl-c .

Ctrl-z – сигнал SIGTSTP

А комбинация Ctrl-z используется, чтобы попросить (команде посылается сигнал SIGTSTP) приложение остановить свою работу (не завершая) – «поставить на паузу». Ну, а «разбудить» его можно командой «fg» (или «bg»).

Ctrl-d – EOF(окончание ввода данных)

Далее разберем комбинацию Ctrl-d . В выводе «stty -a» эта комбинация значится как «EOF», что означает «окончание ввода данных». Для примера покажу, как можно создать текстовый файл с определенным текстом без использования текстового редактора:

^^^ Здесь видно, что любой набираемый текст перенаправляется в файл /tmp/File.txt, и нет никакой фразы (типа «Горшочек, не вари»), которую бы команда cat восприняла как «окончание ввода» – точнее, для этого как раз и надо нажать Ctrl-d .

Также пользуюсь комбинаций Ctrl-d для того, чтобы выйти из консоли (например, после того как переключился командой su под другого пользователя или зайдя по ssh на другую машину) – вместо набора команды «exit» или «logout»:

^^^ В правом терминале отображаю историю команд.

. (а внимательный зритель догадается, какой «супер-секретный» пароль у root’а на стенде)

Ctrl-v – ввод следующего символа

Комбинация Ctrl-v позволяет вставить в командную строку следующий за ней символ, не воспринимая его как спецсимвол. (Параметр lnext в выводе «stty -a»)

^^^ Здесь для примера показываю, как в скрипте выводить строку текста с использованием табуляции (знаю, что можно использовать t в команде echo: echo -e «tTEXT» , но не у всех утилит есть такая возможность, а подобная необходимость вставить «спецсимвол» случается).

^^^ А в этом примере у меня есть файл «New Text Document.txt», созданный в ОС Windows при помощи программы Notepad в директории, которую я затем открыл на доступ по сети и примонтировал в Linux в директорию /mnt. Программа Notepad (в отличии от Notepad++) создает файл в DOS-формате – в конце каждой строки использует дополнительный символ «Возврат каретки». Терминалы часто по умолчанию этот символ не отображают, но он есть, и поэтому, например, команда ‘ grep «m$» /mnt/New Text Document.txt ‘ не выведет строку, заканчивающуюся на букву «m». Команда cat с опцией «-v» отображает этот символ. А для того, чтобы при выводе заменить или удалить это символ, воспользовался командой tr (хотя можно было бы использовать специальную для этого утилиту unix2dos).

Ctrl-l – очищает экран

Комбинация Ctrl-l – «очищает» экран.

История команд

«Работа с историей команд» – классическая тема обычно из любого начального курса по Linux (по крайней мере, среди тех курсов, которые читаются у нас в «Сетевой Академии ЛАНИТ»). И многие, кто имеет хотя бы небольшой опыт работы с командной строкой, историей команд пользуются – как минимум знают, что она есть, и используют стрелки «вверх» (отобразить предыдущую команду) и «вниз» (отобразить следующую после отображаемой команду в истории команд), чтобы выбрать, какую из ранее введенных команд либо снова выполнить, либо подредактировать и запустить отредактированную. Но помимо стрелок еще есть ряд полезных комбинаций клавиш, которые позволяют работать с историей команд, – быстрее находить нужные команды.

Читайте также:
Программа выполняющая на компьютере несанкционированные действия это

Ctrl-r – Поиск по истории

Комбинация Ctrl-r позволяет искать в истории команд команды, содержащие указанный далее текст.

^^^ В этом примере мне понадобилось из истории вытащить команду, содержащую текст «su»: нажав Ctrl-r и набрав искомый текст «su», я увидел самую недавнюю команду, содержащую «su»; при повторном нажатии Ctrl-r отображается предыдущая команда, содержащая «su» и т.д. При необходимости изменить команду жму стрелку «вправо» и правлю текст, а чтобы запустить команду — нажимаю Enter .

PgUp/PgDown – Поиск по истории

PgUp – отображает предыдущую команду начинающуюся с уже введенного текста, PgDown – следующую.

^^^ В этом примере перемещаюсь между командами, начинающимися с «cat». (Часто также ищу команды, начинающиеся с «sudo». Или если мне нужно снова отредактировать какой-то файл, который недавно редактировал: набираю «vi», жму несколько раз PgUp , а затем Enter .)

В дистрибутивах где это настроено — в /etc/inputrc есть строки:

«e[5~»: history-search-backward «e[6~»: history-search-forward

Alt-_/Alt-./Alt— – вставка аргументов

Комбинация Alt-_ (выполняется нажатием Alt , Shift , — ) – вставляет последний аргумент из предыдущих команд. (Аналогично работает комбинация Esc-. или, что то же самое, Alt-. )

^^^ В данном примере видно, как повторные нажатия Alt-_ вставляют аргументы от пред-пред-…-идущих команд.

Комбинация Alt — – позволяет указать (порядковый номер с конца), какой аргумент вставить клавишей Alt-_ из предыдущей команды.

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

Alt-# – текущую команду преобразовать в комментарий

Бывает, во время набора очень длинной команды понимаю, что мне нужно что-нибудь посмотреть или дополнительно сделать (например, глянуть, какие файлы есть в определенной директории, прочитать мануал по команде, установить нужный пакет…). Что делать с уже набранным текстом? Хотелось бы посмотреть нужную информацию и продолжить набирать команду, а не начинать печатать её сначала. Alt-# (выполняется нажатием Alt , Shift , 3 . Также можно использовать Esc-# ) – преобразует текущую набранную команду в комментарий в истории – добавляет символ «#» в начало строки и добавляет полученную строку в историю команд.

Ctrl-o – повтор команд из истории

Комбинация Ctrl-o позволяет повторять серию команд из истории. То есть нужно из истории команд стрелками выбрать первую команду из серии и нажать Ctrl-o – это выполнит текущую команду и выведет из истории следующую. Дальше можно продолжать нажимать Ctrl-o с тем же эффектом.

^^^ В примере я написал три команды: одна увеличивает на 1 переменную, которой соответствует год; вторая выводит переменную-год; третья показывает, сколько дней в феврале в указанном году. Дальше, нажимая Ctrl-o , повторяю эту серию из трех команд много раз (один кадр соответствует трем нажатиям).

Автодополнение

Tab – автодополнение (в контексте)

Во многих командных интерпретаторах (и в bash в том числе) используется такая возможность, как автодополнение. Как минимум нужно знать, что по нажатию клавиши Tab дописывается название команды. В bash по умолчанию обычно настроено так, что если имеется только один вариант дополнения, то он дописывается по нажатию Tab (также можно использовать Ctrl-i и Esc-Esc ). Когда вариантов дополнения много, то по первому нажатию Tab дописывается только общая часть (если она есть). А по второму нажатию Tab отображается список всех доступных вариантов. Дальше можно набрать еще символов – уточнить, какое из дополнений нужно, и снова нажать Tab . То же самое с другими дополнениями: имен файлов, имен переменных.

^^^ Здесь, например, смотрю (нажав дважды Tab ), что есть несколько команд, начинающихся с «if», добавив «c» и нажав Tab , получаю набранной команду «ifconfig».

^^^ В этом примере дополняю аргументы команды (здесь имена файлов). Также видно, что в случае, когда вариантов много и все не умещаются в окне терминала, их список отображается утилитой для постраничного просмотра (также при очень большом списке вариантов выдается запрос вида «Display all 125 possibilities? (y or n)» или, как в этом примере, при малом количестве — «—More—».

Дополнения имен пользователей, переменных

Часто, когда дописываются аргументы команд по Tab , дописываются имена файлов. Но стоит также отметить, что, в зависимости от контекста, по Tab дописываются и имена переменных (аргументы, начинающиеся с символа «$»), имена пользователей (аргументы, начинающиеся с символа «~»),…

^^^ Здесь, чтобы набрать «$HISTFILESIZE», вместо 13 символов набрал 8 символов ( $ H I Tab F Tab S Tab ). Помимо того, что так быстрее, это еще и позволяет допускать меньше ошибок при наборе команд, так как не просто печатаю текст, а выбираю из списка установленных переменных.

^^^ Здесь дописываю имена пользователей (фактически пишу адрес домашней директории).

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

Список того, что может дополнять bash, можно посмотреть командой:

♯ bind -P | grep «complet»

Так, например, видно, что:

Alt-* – вставить дополнения, Ctrl-x * – развернуть шаблон

Esc-* (точнее, Esc Shift 8 ) или, что, то же самое, Alt-* (точнее, Alt , Shift , 8 ), вставит все варианты дополнения в командную строку. Аналогично можно развернуть список файлов, переменных, имен пользователей.

В примерах ниже разворачиваю список файлов:

♯ bind -P | grep ‘*’

insert-completions can be found on «e*». glob-expand-word can be found on «C-x*».

Ctrl-x * – развернет уже написанный в командной строке шаблон, как в примере ниже:

Редактирование

Ctrl-w/u/k – вырезать слово/начало/конец строки

Ctrl-w – вырезать слово (от текущего положения курсора до ближайшего ранее в строке пробела/табуляции). Вырезанное можно затем вставить комбинацией Ctrl-y.

Ctrl-u – вырезать начало строки (от текущего положения курсора. Если курсор в конце строки, то вырежет целиком строку). Вырезанное можно затем вставить комбинацией Ctrl-y .

Ctrl-k – вырезать конец строки (от текущего положения курсора. Если курсор в начале строки, то вырежет целиком строку). Вырезанное можно затем вставить комбинацией Ctrl-y .

Ctrl-y – вставить вырезанное

Ctrl-y – вставить вырезанный фрагмент командной строки. (В bash используется свой буфер для хранения вырезанных фрагментов – называется «kill ring»).

Важно: Удобно использовать с Alt-y (позволяет «прокручивать» варианты вставки из буфера).

Ctrl-x Ctrl-e – редактировать в $EDITOR

Нажав комбинацию Ctrl-x Ctrl-e , можно редактировать командную строку в любом внешнем редакторе (по умолчанию часто используется редактор vim; переназначить редактор можно, указав в переменной EDITOR). Часто редакторы имеют больше продвинутых возможностей в редактировании текста. Особенно удобно, если редактор умеет подкрашивать синтаксис команд и имеет различные встроенные инструменты для быстрого поиска и исправления ошибок.

Читайте также:
Время работы программ стиральной машины LG

Также эту возможность часто использую, когда набранную команду, разросшуюся до нескольких строк, хочу сохранить в виде отдельного скрипта – тогда переключаю редактирование команды в редактор и в нём сохраняю набранный текст в файл, как в примере ниже:

Ctrl-_ – undo

Ctrl-_ (точнее, нужно нажать Ctrl Shift — ) или Ctrl-x Ctrl-u – отменяет последние правки при редактировании командной строки.

Перемещение

Ctrl-a/e – в начало/конец строки

Ctrl-a и Ctrl-e – перемещение в начало и конец командной строки соответственно. Можно, конечно, пользоваться клавишами Home и End , но так быстрее при использовании, например, таких клавиш, как вырезание Ctrl-w и вставка Ctrl-y .

Alt-b/f и Ctrl-←/→ – предыдущее/следующие слово

Alt-b (и тот же эффект у Ctrl-Left ) – переход в начало предыдущего слова.

Alt-f (и тот же эффект у Ctrl-Right ) – переход в конец следующего слова.

Настройки

bash

Подробнее значения действия редактирования командной строки bash можно посмотреть в мануал по bash’у. Действия, упомянутые в этой статье (в порядке упоминания):

bind -P

Можно посмотреть, какие клавиши к каким действиям редактирования командной строки bash привязаны – для этого можно воспользоваться командой «bind -P».

Есть и много других интересных комбинаций – для примера можно глянуть:

Клавиши, переключающие регистр букв:
♯ bind -P | egrep «case|capitalize»

Клавиши, меняющие слова/буквы местами:
♯ bind -p | grep «transpose»

Также можно настроить свои привязки – например, чтобы по комбинации «Ctrl-f» выводился результат команды «date»:

/etc/inputrc (настройки библиотеки readline)

Так как bash и многие shell’ы используют библиотеку readline для взаимодействия с командной строкой, то можно перенастроить соответствия комбинаций клавиш и действий в /etc/inputrc.

Например, такие строки меняют поведение по умолчанию клавиш «Вверх» и «Вниз»

. вместо предыдущей/последующей команды они будут включать поиск по истории команд – очень удобно, часто этим пользуюсь:

«e[A»: history-search-backward «e[B»: history-search-forward

Коды клавиш можно посмотреть, используя комбинацию Ctrl-v , упомянутую выше в этой статье.

Итог

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

Если, по вашему мнению, стоило упомянуть какие-то еще полезные комбинации — напишите в комментариях.

На этом всё. Надеюсь, было полезно. Если есть какие-то вопросы и уточнения, пишите, я буду рад ответить. Также буду рад упоминаниям в комментариях, что для вас оказалось полезным/новым в этой статье. Так я пойму, что стоило упоминать, а что можно было и пропустить.

Ну, и приходите к нам учиться в «Сетевую Академию ЛАНИТ»!

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

Приходите к нам учится — начальный курс хороший катализатор для самостоятельного обучения ибо, как сказал один слушатель: «За два дня курса (прим., на второй день пятидневного курса), узнал больше чем за два года самостоятельного обучения».

А в завершение загадки для оооооочень внимательно посмотревших вебинар «Сетевой Академии ЛАНИТ» по теме этой статьи:

  1. Дата, когда проходил вебинар.
  2. Какой пароль у пользователя root на системе, используемой на вебинаре?
  3. Какой дистрибутив Линукс использовался в примерах?

Мои статьи на Хабре:

  • Краткий справочник по «всем-всем» командам Linux (25.08.2022)
  • Многообразие Linux-дистрибутивов (31.08.2021)
  • Использование быстрых клавиш в командной строке Linux (BASH) (24.02.2021)
  • Обзор различных сред оформления рабочего стола в Linux (01.09.2020)

Источник: habr.com

Команда exit для начинающих

Listen to this article

Команда exit позволяет вам выйти из оболочки, где она запущена.

Если в вашем окне оболочки есть несколько вкладок, то эта команда выходит из вкладки, в которой она выполняется. Учитывая, что это встроенная команда, весьма вероятно, что вы не найдете выделенную справочную страницу для exit. Чтобы получить доступ к ее официальной документации, выполните следующую команду:

$ help exit

В моей системе вышеупомянутая команда выдала следующий вывод:

exit: exit [n] Exit the shell. Exits the shell with a status of N. If N is omitted, the exit status is that of the last command executed.

Теперь некоторые из вас могут спросить, почему (или, скорее, когда) требуется N. Это значение, которое является состоянием выхода, используется в основном, когда команда используется внутри скрипта (сценария bash). В некоторых случаях это значение отображается на понятную человеку ошибку, предупреждение или уведомление.

Кроме того, как ясно из вышеприведенного вывода справочной команды, если значение N не указано явно, то этим значением считается состояние завершения последней выполненной команды.

Давайте рассмотрим простой пример: я переключил учетные записи пользователей и вошел в оболочку root:

Затем я вышел из оболочки с помощью команды exit. Кроме того, я использовал 8 в качестве значения состояния выхода.

Теперь в родительской оболочке (куда я вернулся) я использовал следующую команду для проверки состояния выхода:

$ echo $?

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

Вот еще один пример, в котором я явно не передавал какой-либо статус выхода из оболочки root, но при запросе в родительской оболочке было возвращено состояние выхода последней команды, которая была выполнена в оболочке root:

Определение ловушек (trap)

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

trap «ENTER-COMMAND-HERE» EXIT

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

trap «rm hypotheticalfile.txt» EXIT

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

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

help trap

Если вы новичок в Linux, и ваша работа связана с работой в командной строке, то само собой разумеется, что вы должны проводить много времени в терминале. Как вы, вероятно, согласитесь, есть некоторые команды, которые мы обычно используем очень часто, например, ls, cp и rm. Однако есть некоторые другие, которые используются намного реже. В этом посте мы обсудим одну такую, менее часто используемую команду: Exit.

Обратите внимание, что все примеры и инструкции, упомянутые в этой статье, были протестированы в оболочке Bash, работающей в Ubuntu 18.04LTS. Когда дело доходит до команды exit, не требуется особой кривой обучения, особенно если вы новичок в командной строке. И вы, вероятно, согласитесь с этим. Так что просто попробуйте все, что мы здесь обсудили, и начните использовать команду exit (если вы этого еще не сделали).

Читайте также:
Программа чтобы был виден фпс

Источник: rucore.net

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

toadmin.ru

Редактор 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! команда в vi

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

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

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

cat .bashrc | less

.bashrc меньше

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

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

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

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

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

: команда wq в vi

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

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

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

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

Источник: toadmin.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru