2010-09-23 7 views
22

Also gebe ich Vim einen ernsten Versuch für die Codierung meiner Python-Anwendungen.Verwendung von Vim mit der griechischen Sprache

Vim erweist sich jedoch als so flexibel, ich dachte daran, es als meinen Chefredakteur bei der Arbeit (Anwalt/juristische Dokumente) zu verwenden. Das Problem ist, dass meine Muttersprache nicht Englisch, sondern Griechisch ist. So habe ich Alt + Shift zugeordnet, um zwischen Englisch und Griechisch Tastaturlayout zu wechseln. Das Problem, das ich erfahre ist, dass ich Alt + Shift jedes Mal drücken muss, wenn ich einen Vim-Befehl eingeben möchte (um zu Englisch zurückzukehren). So seine Alt + Umschalttaste, wenn ich mein Dokument eingeben, dann Alt + Umschalttaste erneut eingeben Vim-Befehle. Dies vereitelt den Zweck der Verwendung von Vim, die Geschwindigkeit der Verwendung.

So ist meine Frage einfach, ist es eine Möglichkeit, Alt + Umschalttaste für die Verwendung von Vim-Befehle mit der griechischen Sprache zu vermeiden?

Antwort

28

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.

+3

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

+0

Ist es möglich, etwas anderes als Strg +^zu verwenden. Es ist schwierig, Strg + Umschalt + 6 zu drücken. – Sergey

+2

@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 '. –

Verwandte Themen