There are no plans to update this project.
I recommend using Neo Vim Extension.
Vim emulator for VSCode
ext install vimStyle
h j k l 0 $ ^ w W b B e E { } [{ ]} tx fx Tx Fx ; , gg G
Nh Nj Nk Nl Nw NW Nb NB Ne NE N{ N} N[{ N]} Ntx Nfx NTx NFx N; N, NG
i a s o x r I A S O X gr J
Nx Nr Ngr
d y c dd yy cc D C p P d$ y$ c$ ...
Ndd Nyy Ncc
ci[ ca[ ci" ca"
Nci[ Nca[
v V v..d v..c v..y v..r v..j
.
If you need Ctrl-D and Ctrl-U for scrolling, you can use additional scroll key entention.
But they do not behave exactly as vim command, and their supports may be changed.
If you needs optional settings, please copy belong json and paste to your settings.json
.
// Show mode in status bar (default: true)
"vimStyle.showMode": false,
// changing cursor by mode (default: true)
"vimStyle.changeCursorStyle": false,
// motion with jkl;(default: false)
"vimStyle.useErgonomicKeyForMotion": true,
// default mode (default: "normal")
"vimStyle.defaultMode": "insert",
// disable without to uninstall (default: "true")
"vimStyle.enabled": "false",
// keys go to normal mode from insert mode (default: "" disable)
"vimStyle.imapEsc": "jj",
// some vimrc like settings
"vimStyle.vimrc": [
"nmap Y y$", //
"nnoremapmap Y y$", //
]
If you would like to use ctrl+[
instead of escape
, please add blong setting to your keybindings.json
.
{
"key": "ctrl+[",
"command": "vim.Esc",
"when": "editorTextFocus"
}
If you would like more vim flavor, you can use vim.inNormalMode
, vim.inInsertMode
and vim.inVisualMode
to your keyboard shortcuts. For example,
// in insert mode
{
// Ctrl-h : BackSpace
"key": "ctrl+h", "command": "deleteLeft",
"when": "editorTextFocus && vim.inInsertMode"
},
{
// Ctrl-w : delete word
"key": "ctrl+w", "command": "deleteWordLeft",
"when": "editorTextFocus && vim.inInsertMode"
},
// in visual mode
{
// arrow up
"key": "up", "command": "vim.type-<Up>",
"when": "editorTextFocus && vim.inVisualMode"
},
{
// arrow down
"key": "down", "command": "vim.type-<Down>",
"when": "editorTextFocus && vim.inVisualMode"
},
{
// arrow right
"key": "right", "command": "vim.type-<Right>",
"when": "editorTextFocus && vim.inVisualMode"
},
{
// arrow left
"key": "left", "command": "vim.type-<Left>",
"when": "editorTextFocus && vim.inVisualMode"
},
nmap Y y$
nnoremap Y y$
the vim emulator written type script
MIT License
git clone https://github.com/74th/vscode-vim.git ~/.vscode/extensions/vscode-vim
cd ~/.vscode/extensions/vscode-vim
npm install
npm run-script build
ca' ca" ca
_
as alphabet[(
,[{
,])
,]}
{
,}
useErgonomicKeyForMotion
option : move a cursur by jkl;
pre release!