Wie set -o vi zu deaktivieren?


26

Ich wollte den vi-Modus in Bash ausprobieren, aber jetzt möchte ich ihn wieder normalisieren.

Wie kann ich die Einstellung aufheben -o vi?

Antworten:


30

Die einzigen zwei verfügbaren Schnittstellen für die Zeilenbearbeitung bashsind viModus und emacsModus. Sie müssen den emacsModus also nur erneut einstellen .

set -o emacs

Es sollte beachtet werden, dass ich zwischen den Zeilen gelesen habe, anstatt die Frage direkt zu beantworten. emacsist der Standard-Zeilenbearbeitungsmodus in Bash. Im Einstellungsmodus wird der emacsModus vials Nebeneffekt deaktiviert , aber wie von jlliagre unten erwähnt, können Sie beide tatsächlich deaktivieren.
— Chris Down

25

Das hängt davon ab, was Sie als "normal" definieren. Wenn die Zeilenbearbeitung deaktiviert ist, muss der dokumentierte Weg zum Deaktivieren -o vifestgelegt werden+o vi

$ set -o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              on
$ set +o vi
$ set -o|egrep -w "(vi|emacs)"
emacs           off
vi              off

Chris hat bereits geantwortet, ob dein normaler Modus Emacs ist.


Durch Ausschalten der Modi wird auch die Shell-Verlaufsfunktion entfernt. Jetzt kann ich nicht mehr mit den Aufwärts- /
— Abwärtspfeiltasten den

2
Die Shell-Verlaufsfunktion wird nicht entfernt. Sie können Ihren Verlauf weiterhin mit dem historyBefehl anzeigen und vorherige Befehle ausführen, indem Sie der Nummer das !Zeichen voranstellen .
— Juli

yes 'history' n family Befehle funktionieren immer noch, aber die Pfeiltasten nach oben / unten, die ich häufiger benutze, funktionieren nicht. Sobald ich einen der Modi auf den Tasten einschalte, fange ich an zu funktionieren ... Ich verstehe nicht?
— Rsjethani

3
Die Auf- / Ab-Pfeile werden von der Shell nur verwaltet, wenn die Zeilenbearbeitung aktiviert ist (dh einer der Modi Emacs oder Vi ist festgelegt). Andernfalls senden die Pfeiltasten ihre Escape-Sequenz nur unbearbeitet.
— Juli
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.