-
-
Save espenbjorkeng/484871484d4bf13ce23d8d115e2e8ef5 to your computer and use it in GitHub Desktop.
// vscode-keybindings for navigation with I/J/K/L and additional functionality with surrounding characters | |
// Place your key bindings in this file to overwrite the defaults | |
// ALT + I/J/K/L: up/left/down/right | |
// ALT + SHIFT + I/J/K/L: mark text up/left/down/right | |
// CTRL + J/L: send cursor to start/end of line | |
// CTRL + ALT + J/L: send cursor to start/end of word | |
// CTRL + ALT + U/O: send cursor to "wordPartLeft"/"wordPartRight" | |
// CTRL + ALT + SHIFT + U/O: mark from cursor to "wordPartLeft"/"wordPartRight" | |
// CTRL + ALT + Y: got to declaration | |
// CTRL + I/K: add/remove another cursor up/down | |
// -- IF LINEJUMPER IS INSTALLED -- // | |
// CTRL + ALT + I/K: move cursor 10 lines up/down | |
// CTRL + ALT + SHIFT + I/K: mark 10 lines up/down | |
[ | |
{ | |
"key": "ctrl+shift+i", | |
"command": "editor.action.moveLinesUpAction", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "ctrl+shift+k", | |
"command": "editor.action.moveLinesDownAction", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+k", | |
"command": "cursorDown", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+i", | |
"command": "cursorUp", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+l", | |
"command": "cursorRight", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+j", | |
"command": "cursorLeft", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+k", | |
"command": "cursorDownSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+i", | |
"command": "cursorUpSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+l", | |
"command": "cursorRightSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+j", | |
"command": "cursorLeftSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+ctrl+l", | |
"command": "cursorWordEndRight", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+ctrl+j", | |
"command": "cursorWordStartLeft", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+ctrl+l", | |
"command": "cursorWordRightSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+ctrl+j", | |
"command": "cursorWordLeftSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+o", | |
"command": "cursorEndSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+u", | |
"command": "cursorHomeSelect", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "ctrl+l", | |
"command": "cursorEnd", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "ctrl+j", | |
"command": "cursorHome", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "ctrl+alt+y", | |
"command": "editor.action.goToDeclaration" | |
}, | |
{ | |
"key": "ctrl+i", | |
"command": "cursorColumnSelectUp", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "ctrl+k", | |
"command": "cursorColumnSelectDown", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+ctrl+o", | |
"command": "cursorWordPartRightSelect", | |
"when": "textInputFocus" | |
}, | |
{ | |
"key": "alt+shift+ctrl+u", | |
"command": "cursorWordPartLeftSelect", | |
"when": "textInputFocus" | |
}, | |
{ | |
"key": "alt+ctrl+o", | |
"command": "cursorWordPartRight", | |
"when": "textInputFocus" | |
}, | |
{ | |
"key": "alt+ctrl+u", | |
"command": "cursorWordPartLeft", | |
"when": "textInputFocus" | |
}, | |
{ | |
"key": "alt+ctrl+k", | |
"command": "lineJumper.moveDown", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+ctrl+i", | |
"command": "lineJumper.moveUp", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+ctrl+k", | |
"command": "lineJumper.selectDown", | |
"when": "editorTextFocus" | |
}, | |
{ | |
"key": "alt+shift+ctrl+i", | |
"command": "lineJumper.selectUp", | |
"when": "editorTextFocus" | |
} | |
] |
Thanks. very helpful.
Thanks for sharing...very helpful
I tried it.
Every other thing works execept alt+L for me.
And generally also i cant record the keybinding of alt+L.
any idea??
Thanks, I will give it a try.
So far, I had to change the default Delete Line command to ctrl +d ctrl +d.
Getting used to it.
Instead of this using powertoys is a much better
and easier to approach.
- Alt + Shift + U/O : [Selection] Select characters from cursor to start/end of line
- Alt + U/O : [Navigation] Move cursor to start/end of line
- Alt + i/J/K/L : [Navigation] Move cursor up/left/down/right
- Alt + Shift + i/J/K/L : [Selection] Select characters or lines
- Alt + Ctrl + i/K : [Line Action] Move, Move an entire line or selection up/down
- Alt + Ctrl + J/L : [Selection] smart Select shrink/expand
- Ctrl + i/K : [Cursors] Add a cursor above/below to the current cursor position
- Ctrl + L : [Line Action] Duplicate, entire line or selection, below current position.
- Ctrl + J : [Navigation] For jumpy [Extension]
- Alt + Y : [Navigation] got to declaration
- Alt + Shift + Y : [Navigation] navigate-Back from declaration
- Ctrl + 1 : Increment selection [Extension]
- Ctrl + Shift + E : [Cursors] insert cursors end of each line, on current selection
- Ctrl + D : [Line Action] [deletion] Delete the entire line
- Alt + H + Shift : [Selection] Select word
- Alt + H : [deletion] Backspace or deleteLeft
- Ctrl + H : [deletion] delete previous complete word
{
// to save all unsaved file in a current worksapce
"key": "ctrl+shift+s",
"command": "workbench.action.files.saveAll"
},
// ALT + I/J/K/L: up/left/down/right
{
"key": "alt+k",
"command": "cursorDown",
"when": "editorTextFocus"
},
{
"key": "alt+i",
"command": "cursorUp",
"when": "editorTextFocus"
},
{
"key": "alt+l",
"command": "cursorRight",
"when": "editorTextFocus"
},
{
"key": "alt+j",
"command": "cursorLeft",
"when": "editorTextFocus"
},
// ALT + SHIFT + I/J/K/L: mark text up/left/down/right
{
"key": "alt+shift+k",
"command": "cursorDownSelect",
"when": "editorTextFocus"
},
{
"key": "alt+shift+i",
"command": "cursorUpSelect",
"when": "editorTextFocus"
},
{
"key": "alt+shift+l",
"command": "cursorRightSelect",
"when": "editorTextFocus"
},
{
"key": "alt+shift+j",
"command": "cursorLeftSelect",
"when": "editorTextFocus"
},
// ALT + CTRL + I/K: Move, marked/current line up/down
{
"key": "alt+ctrl+i",
"command": "editor.action.moveLinesUpAction",
"when": "editorTextFocus"
},
{
"key": "alt+ctrl+k",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus"
},
{
// CTRL + J: for jumpy [Extension]
"key": "ctrl+j",
"command": "extension.jumpy-word",
"when": "editorTextFocus"
},
// CTRL + L: Copy, marked/current line up
{
"key": "ctrl+l",
"command": "editor.action.copyLinesUpAction",
"when": "editorTextFocus"
},
// Alt + Ctrl + J/L :editor.action.smartSelect.shrink/expand
{
"key": "alt+ctrl+j",
"command": "editor.action.smartSelect.shrink",
"when": "editorTextFocus"
},
{
"key": "alt+ctrl+l",
"command": "editor.action.smartSelect.expand",
"when": "editorTextFocus"
},
// CTRL + U/O : send/move cursor to start/end of line
{
"key": "alt+o",
"command": "cursorEnd",
"when": "editorTextFocus"
},
{
"key": "alt+u",
"command": "cursorHome",
"when": "editorTextFocus"
},
//CTRL + U/O + shift : Select/Mark characters from cursor to start/end of line
{
"key": "alt+shift+o",
"command": "cursorEndSelect",
"when": "editorTextFocus"
},
{
"key": "alt+shift+u",
"command": "cursorHomeSelect",
"when": "editorTextFocus"
},
// CTRL + I/K: Add a cursor above/below to the current cursor position
{
"key": "ctrl+i",
"command": "cursorColumnSelectUp",
"when": "editorTextFocus"
},
{
"key": "ctrl+k",
"command": "cursorColumnSelectDown",
"when": "editorTextFocus"
},
// alt + y: got to declaration
{
"key": "alt+y",
"command": "editor.action.goToDeclaration"
},
// shift + alt + y: navigateBack from declaration
{
"key": "shift+alt+y",
"command": "workbench.action.navigateBack"
},
{
// Increment Selection [extension]
"key": "ctrl+1",
"command": "extension.incrementSelection",
"when": "editorTextFocus"
},
{
//insert cursors to each line-ends, in selected lines/text
"key": "ctrl+shift+e",
"command": "editor.action.insertCursorAtEndOfEachLineSelected",
"when": "editorTextFocus"
},
{
// For running the current cell
"key": "shift+enter",
"command": "jupyter.execSelectionInteractive",
"when": "editorTextFocus && editorLangId == 'python'"
},
{
// For running the cell and create a new cell below
"key": "ctrl+enter",
"command": "jupyter.runcurrentcelladvance",
"when": "editorTextFocus && editorLangId == 'python'"
},
{
// Backspace or deleteLeft [default: Backspace]
"key": "alt+h",
"command": "deleteLeft",
"when": "textInputFocus"
},
{
// Select word [default keybinding: Ctrl + D]
"key": "alt+shift+h",
"command": "editor.action.addSelectionToNextFindMatch",
"when": "editorFocus"
},
{
// delete previous word [defalt: Ctrl + Backspace]
"key": "ctrl+h",
"command": "deleteWordLeft",
"when": "textInputFocus && !editorReadonly"
},
{
// Delete a line
"key": "ctrl+d",
"command": "editor.action.deleteLines",
"when": "editorTextFocus && !editorReadonly"
},
{ // Insert line below
"key": "ctrl+enter",
"command": "editor.action.insertLineAfter",
"when": "editorTextFocus && !editorReadonly"
},
{
// [replaced]
"key": "shift+alt+i",
"command": "-editor.action.insertCursorAtEndOfEachLineSelected",
"when": "editorTextFocus"
},
{
// [replaced]
"key": "ctrl+d",
"command": "-editor.action.addSelectionToNextFindMatch",
"when": "editorFocus"
},
- Alt + Shift + U/O : Select/Mark characters from cursor to start/end of line
- Alt + U/O : Move cursor to start/end of line
- Alt + i/J/K/L : Move cursor up/left/down/right
(...)
Thanks for sharing!
Instead of this using powertoys is a much better
and easier to approach.
Yes, using Powertoys is a good alternative. At least if you want to remap keys across all applications.
thank you !
where i could find keybindings.json?
i find it in code but its read-only.
i searched it using: whereis keybindings.json
without result in ubuntu OS
where i could find keybindings.json? i find it in code but its read-only. i searched it using:
whereis keybindings.json
without result in ubuntu OS
You should be able to edit the one at the top in my image, @sl5net.
Open the Command Palette from the View menu.
alt+i is not working, when i click alt+i it returns me this symbol(ˆ). i have tried many times. but, it didn't working yet. Please help me.
alt+i is not working, when i click alt+i it returns me this symbol(ˆ). i have tried many times. but, it didn't working yet. Please help me.
@iamsujitroy Did you solve it please? I am experiencing the same problem.
alt+i is not working, when i click alt+i it returns me this symbol(ˆ). i have tried many times. but, it didn't working yet. Please help me.
@iamsujitroy Did you solve it please? I am experiencing the same problem.
Is this character something you're seeing in VS Code only, or any text editor when you press alt + i
?
You could check the Keyboard Shortcuts reference (not the JSON one) to see if it's mapped to something else, and remove that mapping. Second one in this image:
@espenbjorkeng I reset it again and found that it works properly now. Not sure what happened. Thanks.
Very beautiful J/I/K/L keybindings.json !! If you use it you shoud use that 👍
1/ remapp key in Windows : (https://github.com/randyrants/sharpkeys) for your PC ,
2/ https://raerav.com/how-to-remap-the-capslock-and-escape-key-in-windows
3/ " Vimium C '' : https://chrome.google.com/webstore/detail/vimium-c-all-by-keyboard/hfjbmagddngcpeloejdejnfgbamkjaeg
4/ "KeyMouse" : https://github.com/iscooool/KeyMouse
5/ "CrxMouse Chrome™ Gestures " : https://chrome.google.com/webstore/detail/crxmouse-chrome-gestures/jlgkpaicikihijadgifklkbpdajbkhjo?hl=fr
6/ " Jumpy " : https://marketplace.visualstudio.com/items?itemName=wmaurer.vscode-jumpy
7/ https://vimacapp.com/
@espenbjorkeng I reset it again and found that it works properly now. Not sure what happened. Thanks.
Hey @ EryouHao may I know what you mean by reset
here? (I am experiencing the same issue).
Is this character something you're seeing in VS Code only, or any text editor when you press alt + i?
it's the normal mapping for option + i
on mac:
https://www.webnots.com/option-or-alt-key-shortcuts-to-insert-symbols-in-mac-os-x/
I guess I'll just map alt+o
to up... lol
Niceee, thankyou