6

Ich habe gerade angefangen Visual Studio Code und denke, es ist wirklich toll. Auch die Vim-Erweiterung installiert, aber ich habe Probleme mit der Zuordnung esc zu einem anderen Schlüssel.Wie vim (key-bindings) mit Visual Studio Code vim extension

Normalerweise habe ich dies:

:imap jj <Esc> 

Und ich kann sehen, dass VS-Code eine keybindings.json Datei hat. Ich versuchte dies:

[{ 
    "key": "jj", 
    "command": "vim.Esc", 
    "when": "editorTextFocus" 
}] 

Auch gibt es eine settings.json Datei, also habe ich versucht:

{ 
    "vim.keyboardLayout": "en-US (QWERTY)", 
    "vim.insertModeKeyBindings": { 
     "j": "vim.Esc" 
    } 
} 

auch nicht funktionierte. Also weiß jemand, wie man die a-vim-Erweiterung mit VS-Code verwendet, wo ich jj zu Esc oder etwas anderes zu Esc vielleicht zuordnen kann?

+2

Verwenden Sie https://github.com/VSCodeVim/Vim? –

+0

ja, ich benutze https://github.com/VSCodeVim/Vim @sudobangbang – ganjan

Antwort

20

Ich bin einer der Entwickler von VSCodeVim. Ich empfehle dringend, Fragen entweder auf unserem Slack Channel oder über unsere Ausgabeseite zu stellen (beide finden Sie in der README auf Github).

halber Vervollständigungen, hier ist die Antwort auf Ihre Frage:

Fügen Sie den folgenden zu settings.json (der Befehl Pallete öffnen und für ‚Benutzereinstellungen‘ suchen):

"vim.insertModeKeyBindings": [ 
    { 
     "before": ["j", "j"], 
     "after": ["<esc>"] 
    } 
] 

Das sollte TU es.

+1

SEO bevorzugt SO für diese schnelle Suche. Ich brauche wirklich eine kuratierte Tipps Liste oder einen Spickzettel für meinen Übergang zu VSCODE: D. Oben funktioniert super. – sdkks

+0

Mit der aktuellen Version von VSCodeVim funktioniert es mit '' anstelle von ''. – jarandaf

1

Von this issue, erfuhr ich, dass Sie so etwas wie

{ "key": "j j", "command": "extension.vim_esc", "when": "editorTextFocus" }, 

Aber es kommt mit einem Problem der nicht in der Lage zu sein j für Bewegung zu verwenden, verwenden können.

PS. Ich weiß, dass dies keine vollständige Antwort ist, sondern etwas, das in Gang kommt.

+0

Das funktioniert fast, aber wenn ich j die Anwendung einfriere, warten auf den zweiten Schlüssel .. muss sicherstellen, dass es nur passiert, wenn ich bin in vim einfügen mode ... – ganjan