Wie kann ich mit einem Fehlercode von nano beenden?

381
leftaroundabout

Wenn Sie vim verwenden, um auf ein Programm zu „antworten“ - normalerweise git -, kann es sinnvoll sein, das Beenden mit einem Fehler absichtlich zu planen, um die gesamte Aktion abzubrechen, die das Fenster geöffnet hat. Mögen

$ 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 

Dies verhindert git, dass das Commit tatsächlich ausgeführt wird.

Leider haben sich einige Maschinen jetzt nanoals Standardeditor konfiguriert, so dass ich mich gelegentlich in diesem Editor befinde und dementsprechend hilflos.

Was ich jetzt gemacht habe, war: Einloggen mit einer anderen sshSitzung und killall editor.

Gibt es eine Möglichkeit, dasselbe innerhalb von nano selbst zu tun, entsprechend der von vim :cq?

0

1 Antwort auf die Frage

1
Kamil Maciorowski

Dies ist, was ich interaktiv sh(oder bashusw.) mit der Jobkontrolle machen kann:

Ich kann nanomit Ctrl+ Z( ^Z) aussetzen . Hinweis: Wenn es sich um eine Nachricht handelt, muss Suspension is not enabledich zum Aktivieren Alt+ Z( M-Z) drücken . Soweit ich weiß, handelt es sich hierbei um Standard-Keybindings in nano.

Wenn der Befehl nano || foodann war, foowird sofort ausgelöst.

Jetzt bin ich wieder in der Shell mit nanoeinem Job (siehe jobs). kill %%wird ein Signal senden, nanowird jedoch noch nicht beendet. Ich muss fgnach dem Senden des Signals erst dann nanoterminieren.

Nicht so schnell wie Vims, :cqaber immer noch ohne zusätzliche SSH-Sitzung.