Как выйти с кодом ошибки из nano?

333
leftaroundabout

При использовании vim для «ответа» какой-либо программе - обычно это git - может быть полезно преднамеренно завершить работу с ошибкой, чтобы отменить все действие, открывшее окно. подобно

$ git commit -a # vim opens, showing me the staged files and asking for a commit message # oops, I see some stuff staged that wasn't supposed to be committed :cq # exit vim with nonzero exit code 

Это предотвратит gitфактическое выполнение коммита.

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

На данный момент я сделал следующее: войдите в систему с другим sshсеансом и killall editor.

Есть ли способ сделать то же самое изнутри самого nano, соответствующего vim :cq?

0

1 ответ на вопрос

1
Kamil Maciorowski

Вот что я могу сделать в интерактивном режиме sh(или bashт. Д.) С управлением заданиями:

Я могу приостановить nanoс Ctrl+ Z( ^Z). Примечание: если сообщение, Suspension is not enabledто мне нужно нажать Alt+ Z( M-Z), чтобы включить. Насколько я знаю, это стандартные сочетания клавиш в nano.

Если команда была nano || fooтогда, fooона будет запущена немедленно.

Теперь я вернулся в оболочку с nanoзаданием (см. jobs). kill %%отправит ему сигнал, еще nanoне выйдет. Мне нужно fgпосле отправки сигнала, только потом nanoзаканчивается.

Не так быстро, как у vim, :cqно без дополнительной сессии SSH.

Похожие вопросы