Löwe: Kartenoption + Pfeil zum Startpunkt / Ende

1

Ich verwende die CLI-Version von Vim auf Mac mini mit OS X Lion.

Ich verwende Vim als meinen Hauptcode-Editor. Eine Sache, die mich stört, ist der Mangel an Start- und Endetasten, um zum Anfang bzw. Ende der Zeilen zu gelangen. (Auf meinem Laptop befinden sich die Pfeiltasten links und rechts mit dem Fn-Modifikator nach Hause und Ende.)

Ich weiß, dass Control + Pfeile Bildschirme verschieben, und Befehl + Pfeile sich durch Fenster bewegen, also kann ich Option oder Fn + Pfeile so einstellen, dass ich dies tun kann?

Ich möchte so etwas in allen Anwendungen.

BEARBEITEN:

Ich habe darauf selbst geantwortet: theandystratton.com/2009/… Ich habe auch die im zweiten Kommentar angegebenen Werte verwendet, die sowohl in Vim als auch im allgemeinen Terminal funktionieren.

Ich frage mich, gibt es irgendwelche Nachteile bei der Verwendung dieses ...?

Thomas
quelle

Antworten:

1

Um die Startseite neu zuzuordnen und im Terminal zu enden, führen Sie Folgendes aus f=~/Library/Preferences/com.apple.terminal.plist; plutil -convert xml1 $f; open $f -eund das ändern:

<key>F729</key>
<string>scrollToBeginningOfDocument:</string>
<key>F72B</key>
<string>scrollToEndOfDocument:</string>

Zu diesem:

<key>F729</key>
<string>&#x1b;OH</string>
<key>F72B</key>
<string>&#x1b;OF</string>

Um sie in normalen Textansichten zu ändern, erstellen Sie ~ / Library / KeyBindings / und speichern eine Eigenschaftsliste wie folgt als DefaultKeyBinding.dict:

{
    "\UF729" = moveToBeginningOfParagraph:;
    "\UF72B" = moveToEndOfParagraph:;
    "$\UF729" = moveToBeginningOfParagraphAndModifySelection:;
    "$\UF72B" = moveToEndOfParagraphAndModifySelection:;
}

Eine andere Option wäre zu verwenden KeyRemap4MacBook . Weitere Informationen finden Sie unter "Verwenden von PC Style Home / End (außer in Virtual Machine, RDC)" in https://raw.github.com/tekezo/KeyRemap4MacBook/master/Tests/lib/string/data/checkbox.xml .

Lri
quelle
0

Im iTerm Mit Fn + Left wird das erste Zeichen in dem Befehl eingegeben, den Sie eingeben, und mit Fn + Right wird das Ende erreicht.

Für vim würde ich vorschlagen, die gewünschte Tastenkombination für "Home" auf 0 und ähnlich "$" für das Ende zu setzen.

Wenn Sie sich im Einfügemodus befinden, können Sie den Einfügemodus mit imap für 'Esc'0i verlassen, dann zum Anfang der Zeile springen und den Einfügemodus erneut aufrufen.

Etwas wie das Folgende würde die Karten für Fn + Links / Rechts dem Zeilenanfang und dem Zeilenende sowohl für den Normalmodus als auch für den Einfügemodus hinzufügen:

nmap ^ [OF $

nmap ^ [OH 0

imap ^ [OF ^ [$ i

imap ^ [OH ^ [0i

Hinweis: Wenn Sie Sonderzeichen in die Map eingeben, verwenden Sie zuerst Strg-V und geben Sie dann die Zeichenkombination ein, die Sie zuordnen möchten.

jmhindle
quelle
Danke für die schnelle Antwort. Für mich scheint Fn + Left zum Anfang des Puffers zu springen, wobei Fn + Right zum Ende des Puffers springt. BEARBEITEN: Ich habe es gerade getestet, und selbst wenn Vim geöffnet ist, scrollt es zum oberen Rand des Puffers und lässt Vim zurück.
Thomas
Ich verwende iTerm anstelle des Standardterminals. Ich werde die Antwort oben bearbeiten. Haben Sie versucht, die Map-Befehle zu Ihrer .vimrc hinzuzufügen?
jmhindle