Dieses Problem kann mit Hilfe der Option keymap
gelöst werden. Es ermöglicht eine alternative Tastaturbelegung für die Verwendung in Modi zu definieren, die Texteingabe erfordern.
zwischen Standard- und Alternativ keymaps zu schalten, während in Insert, Ersetzen oder Befehlszeilenmodus mit Ctrl + ^ (Ctrl + 6). Das Ändern der Tastenbelegung wirkt sich nur auf die Texteingabe aus; Das Tastaturverhalten im Normalmodus bleibt unabhängig von der aktuellen Tastensatzeinstellung gleich. Man kann den Insert-Modus in Griechisch schreiben lassen und sofort Tastenkombinationen im Normalmodus verwenden, ohne auf ein anderes Tastaturlayout zu wechseln. Wenn Sie dann in den Einfügemodus zurückkehren oder beispielsweise eine Suche starten, indem Sie /
eingeben, schaltet Vim die Tastatur automatisch auf Griechisch zurück.
Die aktuelle Tastenbelegung, die in diesen Texteingabemodi verwendet wird, wird zwischen den Umschaltungen in andere Modi gespeichert . Die einzige Ausnahme von diesem Verhalten wird für den Befehlszeilenmodus gemacht, der immer mit der Standard-Tastenbelegung beginnt, da meistens die Eingabe eines Ex Befehls (in ASCII) erforderlich ist. Mit der keymap
Option gesetzt, wird Benutzer soll Arbeit in Vim Haltesystem Tastaturlayout auf Englisch eingestellt, während Schalt Vim keymap mit Ctrl +^ (anstelle des systemweite Layout-Schalter).
Um die griechische Keymap UTF-8 dauerhaft zu aktivieren, fügen Sie die folgende Zeile zu Ihrer .vimrc
Datei hinzu.
:set keymap=greek_utf-8
Es gibt viele vordefinierte Tastaturbelegungen für einen großen Satz von Sprachen, können Sie sie alle in Vim sehen sich :e $VIMRUNTIME/keymap
verwenden.Beachten Sie, dass in der Regel mehrere Tastaturbelegungen für eine Sprache zur Verfügung stehen, die sich nur durch Zeichencodierung von unterscheiden, so dass jeder einen auswählen kann, der zu seiner Konfiguration passt.
Ich empfehle auch unter den Optionen festlegen, ob die keymap angeben sollten standardmäßig in Insert-Modus und bei der Eingabe eines Such Muster aktiviert werden.
:set iminsert=0
:set imsearch=-1
Siehe :help iminsert
und :help imsearch
für ihre detaillierten Erklärungen.
Es gibt auch einen speziellen Sprachmodus, der, wenn ich mich nicht irre, früher in Vim eingeführt wurde als keymap
. Es ermöglicht das ähnliche Verhalten wie das von keymap
durch manuelle angegebene Schreiben von Paaren, die den Tasten auf der Tastatur in eine lange Zeichenfolge entsprechen, die in der Option langmap
gespeichert werden soll. Persönlich-meine Muttersprache Sprache ist nicht Englisch, too-ich bevorzuge (und empfehlen) mit keymap
statt.
Abschließend sollte ich betonen, dass alle der oben genannten gleichermaßen für jede andere Sprache Vim hat (oder kann konfiguriert werden) eine Keymap für.
Siehe auch my answer zu similar question, die später gestellt wurde. Es enthält eine etwas ausführlichere Erklärung.
Sie sind erstaunlich !!! Dein Vorschlag hat nicht funktioniert, aber du hast mich auf die richtige Richtung hingewiesen. Alles was ich tun musste, war set keymap = greek_utf-8 zu setzen, um keymap = greek_iso-8859-7 zu setzen. Aus irgendeinem Grund zeigt griechische Utf komische Zeichen, das gleiche passiert mit meinem Firefox, wenn es utf wählt, aber iso funktioniert auch dort. Alles andere funktionierte wie ein Zauber Ich drücke nur Strg +^im Bearbeitungsmodus, wie Sie vorgeschlagen haben, und ich kann zwischen Griechisch und Englisch wechseln, während die Befehlsschnittstelle in Englisch bleibt. Du bist ein Lebensretter, danke. – Kilon
Ist es möglich, etwas anderes als Strg +^zu verwenden. Es ist schwierig, Strg + Umschalt + 6 zu drücken. – Sergey
@Sergey: 'Strg + 6' funktioniert auch. Wenn es Ihnen immer noch unangenehm ist, zu tippen, erstellen Sie ein einfach zu verwendendes Mapping. Um es zum Beispiel auf "Strg + L" umzuordnen, benutzen Sie 'inoremap'. –