2016-08-02 12 views
1

Ich verwende derzeit Seil, um Caps-Lock neu zu mappen, um auf OSX 10.11 zu entkommen. Immer wenn ich htop überprüfe, um zu sehen, was läuft, wenn das System nicht viel tut (Programme geöffnet, aber nicht viel verarbeitet), ist Seil immer da und schwankt in seiner CPU- und Speicherbenutzung. Es ist wahrscheinlich keine große Sache, aber es fühlt sich verrückt an, dieses Ding immer laufen zu lassen, wenn man bedenkt, dass ich nur vim für gelegentliche flache Textdateien verwende. Ich möchte Seil nicht jedes Mal starten müssen, wenn ich vim benutze. Ist meine beste Option, einfach die Feststelltaste zu deaktivieren und eine Brücke an den Escape-Schlüssel anzuhängen? Vim kommt standardmäßig auf OSX und ist unbrauchbar, ohne dass es zu etwas zurückverfolgt werden muss, also würde ich denken, dass dies auftauchen würde, anstatt sich auf jemand anderen zu verlassen, um eine App dafür zu erstellen.Wie kann ich meine OSX-Tastatur neu zuordnen, ohne Programme von Drittanbietern zu verwenden?

+0

Haben Sie xmodmap? Ich weiß nicht, ob das auf OS X funktioniert. – yellowantphil

+0

@yellowantphil Es sei denn, es kam mit allen xcode-Sachen, die Sie installieren müssen, damit ein Haufen * nix-Zeug funktioniert. Ich habe nichts davon gehört, also muss ich herumlesen. Ich dachte nur daran, vielleicht vim (plugin?) Zu ändern, um caps-lock (oder etwas anderes) als Escape zu verwenden. Es ist besser, Schuhe zu tragen als die Welt in Leder zu kleiden und all das, aber ich bin mir nicht sicher, ob das noch funktionieren würde. – crazyfox

+0

und speziell für vim können Sie auch 'Strg-]' verwenden - oder es gibt weitere Ideen in dieser Liste: http://vim.wikia.com/wiki/Avoid_the_escape_key – bdecaf

Antwort

2

Neuzuordnung Caps Lock

Steuerung Sie können neu zuordnen die Kappen Schlüssel zum Steuer Schlüssel in den Tastatureinstellungen sperren (klicken Sie auf die Modifier Keys Taste).

enter image description here

In vim, ein Alias ​​für esc ist Kontrolle - [, die viel zugänglicher ist für die esc Schlüssel als erreicht.

Neuzuordnung Caps Lock in Vim

Navigieren Sie zu dem Library/Preferences/ByHost Verzeichnis unter dem Home-Ordner

ls -a | grep Global 

es auf eine Shell-Variable Escape Vergeben

cd ~/Library/Preferences/ByHost 

Identifizieren Sie die versteckte Eigenschaftslistendatei für eine einfache Referenzierung später

pfile=$(ls -a | grep Global) 

Stellen Sie sicher, dass die neu erstellte Variable pfile den richtigen Wert hat. Es sollte wie folgt aussehen: .GlobalPreferences.7D7C488E-0E83-5562-B58B-011C540890F3.plist

echo $pfile 

ein Backup für alle Fälle etwas

cp $pfile{,.bak} 

Kopieren Sie die pfile auf das Home-Verzeichnis schief geht und wandeln es

cp $pfile ~/keys-binary.plist 
plutil -convert xml1 -o ~/keys-xml.plist ~/keys-binary.plist 
in XML

Öffnen Sie die Datei und suchen Sie nach dem Text HIDKeyboardModifierMappingSrc und HIDKeyboardModifierMappingDst. Setzen Sie den Wert zwischen integer Tags unter HIDKeyboardModifierMappingDst auf 5 und unter HIDKeyboardModifierMappingSrc auf 0, wie folgt.

<key>com.apple.keyboard.modifiermapping.1452-588-0</key> 
<array> 
    <dict> 
     <key>HIDKeyboardModifierMappingDst</key> 
     <integer>5</integer> 
     <key>HIDKeyboardModifierMappingSrc</key> 
     <integer>0</integer> 
    </dict> 
</array> 

Speichern und dann in eine Binärdatei

plutil -convert binary1 -o ~/keys-binary.plist ~/keys-xml.plist 

Schließlich kopieren Sie diese Datei zurück zum ByHost Verzeichnis, die ursprüngliche Datei zu ersetzen konvertieren zurück.

Sie müssen sich abmelden und wieder anmelden, bevor die Änderungen wirksam werden. Sobald Sie wieder angemeldet haben, fügen Sie die folgende Zeile in .vimrc:

noremap <Esc>Op <Esc> 
noremap! <Esc>Op <Esc> 

Das wird, wenn Sie offen vim im Terminal arbeiten. Wenn Sie gvim verwenden, versuchen Sie Solution 2 by eelco, auf die ich verwiesen habe, um diesen Beitrag mit ein paar verschiedenen Zuordnungen zu schreiben, damit es im Terminal funktioniert.

Beachten Sie auch, dass, damit dies funktioniert, der VT100-Anwendungstastaturmodus Option in Ihren Terminaleinstellungen aktiviert sein muss.

+0

Dies ist eine ziemlich gute Alternative für die meisten Leute, aber die Mittelhandknochen in meiner rechten Hand, Finger und Finger sind gebrochen und nicht richtig verheilt. Ich versuche, ihre Verwendung zu begrenzen, und es ist einfach der meistgenutzte Schlüssel in vim neben dem Raum. Ich sollte zuerst härter gesucht haben und fand das: https://stackoverflow.com/questions/30308192/how-to-hook-remap-an-arbitrary-keyboard-event-on-osx?rq=1 – crazyfox

+1

Wow! Genau das wollte ich tun! Ich schätze die Arbeit, die Sie hier leisten! Funktioniert perfekt! – crazyfox