Ich habe gerade einen Mac bekommen! Wie mache ich in meinem Terminal / VIM-Editor "Ende", "Startseite", "Bild auf" und "Seite ab"?

8

Ich schreibe viel Python in mein VIM auf dem Terminal. Was mache ich?

Alex
quelle
1
Wenn Sie diese Frage stellen müssen, sollten Sie in Betracht ziehen, einen anderen Editor oder eine andere IDE zum Schreiben von Python zu verwenden. Für die Sache, home => ^, end => $, page up = ^ f, page down = ^ b; Beachten Sie, dass Sie den Bearbeitungsmodus zuerst mit Esc beenden und dann erneut mit z. B. i oder a ...
bubu
1
@ubu bah! Ich sage. Ich programmiere alles in VIM, es ist ein ausgezeichneter Editor, auch für Python.
Jed Daniels
1
Beziehen Sie sich auf die Tasten 'Home' 'End' 'Page Up' 'Page Down' auf Ihrer Tastatur oder suchen Sie einfach nach den richtigen VIM-Navigationsbefehlen?
Stefan Lasiewski

Antworten:

17

Führen Sie die Standardverknüpfungen für über 30-jährige vi aus

^f(vorwärts == Seite nach unten)
^b(zurück == Seite nach oben)
^(das ist ein Schicht-6-Caret für den Zeilenanfang) und
$(Zeilenende)

...nicht arbeiten?

Oder suchen Sie nach Tastaturtasten im PC-Stil für diese Funktionen? Verwenden Sie dazu die Pfeiltasten Fn +:

Fn + Pfeil nach unten == Seite nach unten
Fn + Pfeil nach oben == Seite nach oben
Fn + Pfeil nach links == Startseite Fn + Pfeil nach
rechts == Ende

Spiff
quelle
4
Die Tastenkombinationen 'Fn + Pfeil' funktionieren bei Terminal.App und Vim nicht.
Stefan Lasiewski
|ist gleichbedeutend mit HOME: Beide gehen zur 0. Spalte der Zeile und nicht zum ersten Nicht-Leerzeichen.
Intuition
In mc auf Lion funktioniert Fn + Pfeile nur für mich richtig. Die Tasten ^ f, ^ b laden die vorherige \ nächste Datei in den aktuellen Ordner. Danke
kradmiy
Danke dafür! Kann ich den Cursor auch im Einfügemodus bewegen? Ich kann dies unter Windows und Linux tun. Ist Mac OS X genauso gut wie sie? Kleinere Korrektur: 0 steht für die erste Position der aktuellen Zeile, während ^ für das erste nicht leere Zeichen der aktuellen Zeile steht.
Tommy.carstensen
Dies beantwortet die Frage nicht. Um HOME und END in vim und in der Shell zum Laufen zu bringen, geben Sie bind '"\e[1~":"\eOH"'und bind '"\e[4~":"\eOF"'in Ihr $ HOME / .bashrc ein. Weitere Mac- und Linux-freundliche Bash / Vim-Anpassungen finden Sie unter github.com/sudoer/dotfiles .
Alan Porter
7

Vim-Befehle (diese sind nicht mac-spezifisch):

Zeilenende: $

Zeilenanfang: 0

Seite nach unten: Strg + f

Seite hoch: Strg + b

Jed Daniels
quelle
2

Wenn Sie in den Tastatureinstellungen des Terminals nachsehen, können Sie die Aktionen für Bild auf / ab und Seite auf / ab verschieben. Das funktioniert in Standard-Vim und wie Sie es von Remote-Boxen erwarten würden.

gg und G sind alles, was Sie für Zuhause / Ende brauchen. (Ich habe eine Weile versucht, es zum Laufen zu bringen)

Jacob
quelle
1

Um HOME und END in vim und in der Shell zum Laufen zu bringen, fügen Sie bind '"\e[1~":"\eOH"'und bind '"\e[4~":"\eOF"'in Ihre $ HOME / .bashrc-Datei ein.

Weitere Mac- und Linux-freundliche Bash / Vim-Anpassungen finden Sie unter https://github.com/sudoer/dotfiles . Suchen Sie in den Bash-Skripten nach den Wörtern $ OSTYPE und "darwin". Es gibt einen ähnlichen "Darwin" -Block im vimrc für Mac-spezifische vim-Optimierungen.

Alan Porter
quelle