Linux and Developer Tools Keyboard Shortcuts Guide#

Table of Contents#

Essential Ubuntu (Gnome) Keyboard Shortcuts#

ShortcutAction
SuperOpens Activities search
Super+AShow application menu (9 dots grid)
Ctrl+Alt+TOpen terminal window
Ctrl+Q or Ctrl+W or Alt+F4Close application window
Super+Left/Right/Up/DownSnap window left/right/maximize/unmaximize
Alt+Tab (Alt+Shift+Tab)Switch application window
Super+Tab (Super+Shift+Tab)Switch application group
Ctrl+Alt+TabSwitch between windows in all Workspaces (unsure about this one todo)
Ctrl+Alt+Up/Down/Left/RightSwitch workspace
Alt+F6Quick switch windows of the same application
Ctrl+Alt+D`Show desktop (press again to restore windows)
Super+MToggle notification tray
Ctrl+Alt+LLock screen
Ctrl+Alt+DelLog out
Alt+F2Run console (command prompt)
Ctrl+Alt+Up/Down/Left/RightSwitch workspace
Shift+Ctrl+Alt+Up/Down/Left/RightMove window to workspace
PrtScrTake screenshot
Alt+PrtScrTake screenshot of window
Shift+PrtScrTake screenshot of area

📋 Note: Capital letters in shortcuts don’t mean you press the Shift key. For example, T means ’t’ key only, not Shift+t.

Custom Keyboard Shortcuts#

Create your own shortcuts by going to: Settings → Devices → Keyboard → Custom Shortcuts

Sources:

Zellij Keyboard Shortcuts#

Locked Mode#

ShortcutAction
Ctrl gSwitch to Normal mode

Normal Mode#

Normal mode is the default mode in Zellij.

Resize Mode#

ShortcutAction
Ctrl nSwitch to Normal mode
h / Increase size left
j / Increase size down
k / Increase size up
l / Increase size right
HDecrease size left
JDecrease size down
KDecrease size up
LDecrease size right
= / +Increase size
-Decrease size

Pane Mode#

ShortcutAction
Ctrl pSwitch to Normal mode
h / Move focus left
l / Move focus right
j / Move focus down
k / Move focus up
pSwitch focus
nNew pane and switch to Normal mode
dNew pane downward and switch to Normal mode
rNew pane rightward and switch to Normal mode
xClose focused pane and switch to Normal mode
fToggle fullscreen for focused pane and switch to Normal mode
zToggle pane frames and switch to Normal mode
wToggle floating panes and switch to Normal mode
eToggle pane embed/floating and switch to Normal mode
cSwitch to RenamePane mode with pane name input
iToggle pane pinned and switch to Normal mode

Move Mode#

ShortcutAction
Ctrl hSwitch to Normal mode
n / TabMove pane
pMove pane backwards
h / Move pane left
j / Move pane down
k / Move pane up
l / Move pane right

Tab Mode#

ShortcutAction
Ctrl tSwitch to Normal mode
rSwitch to RenameTab mode with tab name input
h / / / kGo to previous tab
l / / / jGo to next tab
nNew tab and switch to Normal mode
xClose tab and switch to Normal mode
sToggle active sync tab and switch to Normal mode
bBreak pane and switch to Normal mode
]Break pane right and switch to Normal mode
[Break pane left and switch to Normal mode
1-9Go to tab 1-9 and switch to Normal mode
TabToggle tab

Scroll Mode#

ShortcutAction
Ctrl sSwitch to Normal mode
eEdit scrollback and switch to Normal mode
sSwitch to EnterSearch mode with search input
Ctrl cScroll to bottom and switch to Normal mode
j / Scroll down
k / Scroll up
Ctrl f / PageDown / / lPage scroll down
Ctrl b / PageUp / / hPage scroll up
dHalf page scroll down
uHalf page scroll up

Search Mode#

ShortcutAction
Ctrl sSwitch to Normal mode
Ctrl cScroll to bottom and switch to Normal mode
j / Scroll down
k / Scroll up
Ctrl f / PageDown / / lPage scroll down
Ctrl b / PageUp / / hPage scroll up
dHalf page scroll down
uHalf page scroll up
nSearch downward
pSearch upward
cToggle case sensitivity option
wToggle wrap option
oToggle whole word option

EnterSearch Mode#

ShortcutAction
Ctrl c / EscSwitch to Scroll mode
EnterSwitch to Search mode

RenameTab Mode#

ShortcutAction
Ctrl cSwitch to Normal mode
EscUndo rename tab and switch to Tab mode

RenamePane Mode#

ShortcutAction
Ctrl cSwitch to Normal mode
EscUndo rename pane and switch to Pane mode

Session Mode#

ShortcutAction
Ctrl oSwitch to Normal mode
Ctrl sSwitch to Scroll mode
dDetach
wLaunch or focus session manager plugin and switch to Normal mode
cLaunch or focus configuration plugin and switch to Normal mode
pLaunch or focus plugin manager and switch to Normal mode
aLaunch or focus about plugin and switch to Normal mode

Tmux Mode#

ShortcutAction
[Switch to Scroll mode
Ctrl bWrite 2 and switch to Normal mode
"New pane downward and switch to Normal mode
%New pane rightward and switch to Normal mode
zToggle fullscreen focus and switch to Normal mode
cNew tab and switch to Normal mode
,Switch to RenameTab mode
pGo to previous tab and switch to Normal mode
nGo to next tab and switch to Normal mode
Left / hMove focus left and switch to Normal mode
Right / lMove focus right and switch to Normal mode
Down / jMove focus down and switch to Normal mode
Up / kMove focus up and switch to Normal mode
oFocus next pane
dDetach
SpaceNext swap layout
xClose focus and switch to Normal mode

Shared Shortcuts#

ShortcutActionAvailable In
Ctrl gSwitch to Locked modeAll except Locked
Ctrl qQuitAll except Locked
Alt fToggle floating panesAll except Locked
Alt nNew paneAll except Locked
Alt iMove tab leftAll except Locked
Alt oMove tab rightAll except Locked
Alt h / Alt ←Move focus or tab leftAll except Locked
Alt l / Alt →Move focus or tab rightAll except Locked
Alt j / Alt ↓Move focus downAll except Locked
Alt k / Alt ↑Move focus upAll except Locked
Alt = / Alt +Increase sizeAll except Locked
Alt -Decrease sizeAll except Locked
Alt [Previous swap layoutAll except Locked
Alt ]Next swap layoutAll except Locked
Enter / EscSwitch to Normal modeAll except Normal and Locked

Mode Switching Shortcuts#

ShortcutActionAvailable In
Ctrl pSwitch to Pane modeAll except Pane and Locked
Ctrl nSwitch to Resize modeAll except Resize and Locked
Ctrl sSwitch to Scroll modeAll except Scroll and Locked
Ctrl oSwitch to Session modeAll except Session and Locked
Ctrl tSwitch to Tab modeAll except Tab and Locked
Ctrl hSwitch to Move modeAll except Move and Locked
Ctrl bSwitch to Tmux modeAll except Tmux and Locked

Source:

Vim Mode in Fish Shell#

Essential Shortcuts#

ShortcutAction
EscapeSwitch to normal (command) mode
iEnter insert mode
aEnter insert mode after cursor
AEnter insert mode at end of line
hjklNavigate left/down/up/right
0Move to beginning of line
$Move to end of line
wMove forward one word
bMove backward one word
ddDelete entire line
dwDelete word
d$Delete to end of line
uUndo
/Search forward
nNext search result
NPrevious search result
vEnter visual mode for selection
yYank (copy) selected text
pPaste

Source:

  • Fish shell documentation (fish_vi_key_bindings)

Default Mode in Fish Shell#

ShortcutAction
Ctrl+AMove to beginning of line
Ctrl+EMove to end of line
Alt+FMove forward one word
Alt+BMove backward one word
Ctrl+P or Previous command in history
Ctrl+N or Next command in history
Ctrl+RReverse search through history
Alt+.Insert last argument of previous command

Editing#

ShortcutAction
Ctrl+UDelete from cursor to beginning of line
Ctrl+KDelete from cursor to end of line
Ctrl+WDelete previous word
Alt+DDelete word forward
Ctrl+TSwap two characters
Alt+TSwap two words
Ctrl+LClear screen

Command Control#

ShortcutAction
Ctrl+CCancel current command
Ctrl+ZSuspend process
TabAuto-complete
Alt+EEdit command in external editor
Alt+LList directory contents

Source:

  • Fish shell documentation (default key bindings)

Browser Keyboard Shortcuts#

ShortcutAction
Ctrl+L or F6Focus on address bar
Ctrl+TOpen new tab
Ctrl+NOpen new window
Ctrl+WClose current tab
Ctrl+Shift+TReopen closed tab
Ctrl+TabSwitch to next tab
Ctrl+Shift+TabSwitch to previous tab
Ctrl+1 to Ctrl+8Switch to specific tab (1st through 8th)
Ctrl+9Switch to the last tab
Alt+HomeGo to homepage
Alt+← or BackspaceGo back
Alt+→ or Shift+BackspaceGo forward
F5Reload page
Ctrl+F5 or Shift+F5Reload page (bypass cache)
EscStop loading page

Viewing and Reading#

ShortcutAction
F11Toggle full screen
Ctrl+FFind on page
F3 or Ctrl+GFind next match
Shift+F3 or Ctrl+Shift+GFind previous match
Ctrl++ (plus)Zoom in
Ctrl+- (minus)Zoom out
Ctrl+0Reset zoom to 100%
Ctrl+UView page source
SpaceScroll down
Shift+SpaceScroll up
HomeGo to top of page
EndGo to bottom of page
Ctrl+DBookmark current page
Ctrl+Shift+DBookmark all open tabs
Ctrl+HView history
Ctrl+JView downloads

Editing#

ShortcutAction
Ctrl+CCopy selected text
Ctrl+XCut selected text
Ctrl+VPaste text
Ctrl+ZUndo
Ctrl+Y or Ctrl+Shift+ZRedo
Ctrl+ASelect all

Miscellaneous#

ShortcutAction
Alt+F or F10Open browser menu
Ctrl+K or Ctrl+ESearch from address bar
Ctrl+EnterAdd www. and .com to text in address bar
Shift+EnterAdd www. and .net to text in address bar
Ctrl+Shift+EnterAdd www. and .org to text in address bar
Ctrl+Shift+DeleteOpen clear browsing data options
Ctrl+Shift+BToggle bookmarks bar
Ctrl+Shift+NNew incognito/private window
Ctrl+PPrint page
Ctrl+SSave page

Developer Tools#

ShortcutAction
Ctrl+Shift+I or F12Open developer tools
Ctrl+Shift+JOpen developer tools console
Ctrl+Shift+CInspect element tool (element selector)
Ctrl+Shift+MToggle device emulation (responsive design mode)
F8 or Ctrl+\Pause/resume script execution
F10 or Ctrl+'Step over next function call
F11 or Ctrl+;Step into next function call
Shift+F11 or Ctrl+Shift+;Step out of current function

Source:

  • Common browser shortcuts (Chrome, Firefox, Edge)

Vimium Browser Extension Shortcuts#

Basic Navigation#

ShortcutAction
?Show help (all commands)
jScroll down
kScroll up
hScroll left
lScroll right
ggScroll to the top of the page
GScroll to the bottom of the page
dScroll down half a page
uScroll up half a page
fOpen a link in the current tab
FOpen a link in a new tab
rReload the page
gsView page source
yyCopy the current URL to the clipboard
pOpen the clipboard’s URL in the current tab
POpen the clipboard’s URL in a new tab

Tabs Management#

ShortcutAction
J or gTGo to the previous tab
K or gtGo to the next tab
g0Go to the first tab
`g# Linux and Developer Tools Keyboard Shortcuts Guide

Table of Contents#

Essential Ubuntu (Gnome) Keyboard Shortcuts#

ShortcutAction
SuperOpens Activities search
Ctrl+Alt+TOpen terminal window
Super+L or Ctrl+Alt+LLock screen
Super+D or Ctrl+Alt+DShow desktop (press again to restore windows)
Super+AShow application menu (9 dots grid)
Super+Tab or Alt+TabSwitch between running applications
Super+Shift+TabCycle in reverse order
Super+ `Switch between multiple instances of the same application
Ctrl+Alt+TabSwitch between windows in all Workspaces
Super+←Snap window to left half of screen
Super+→Snap window to right half of screen
Super+↑Maximize window
Super+↓Restore window to original size
Super+M or Super+VToggle notification tray
Super+SpaceChange input keyboard
Alt+F2Run console (command prompt)
Ctrl+Q or Ctrl+W or Alt+F4Close application window
Ctrl+Alt+↑/←/→/↓Move between workspaces
Ctrl+Alt+DelLog out

📋 Note: Capital letters in shortcuts don’t mean you press the Shift key. For example, T means ’t’ key only, not Shift+t.

Custom Keyboard Shortcuts#

Create your own shortcuts by going to: Settings → Devices → Keyboard → Custom Shortcuts

Sources:

Zellij Keyboard Shortcuts#

Locked Mode#

ShortcutAction
Ctrl gSwitch to Normal mode

Normal Mode#

Normal mode is the default mode in Zellij.

Resize Mode#

ShortcutAction
Ctrl nSwitch to Normal mode
h / Increase size left
j / Increase size down
k / Increase size up
l / Increase size right
HDecrease size left
JDecrease size down
KDecrease size up
LDecrease size right
= / +Increase size
-Decrease size

Pane Mode#

ShortcutAction
Ctrl pSwitch to Normal mode
h / Move focus left
l / Move focus right
j / Move focus down
k / Move focus up
pSwitch focus
nNew pane and switch to Normal mode
dNew pane downward and switch to Normal mode
rNew pane rightward and switch to Normal mode
xClose focused pane and switch to Normal mode
fToggle fullscreen for focused pane and switch to Normal mode
zToggle pane frames and switch to Normal mode
wToggle floating panes and switch to Normal mode
eToggle pane embed/floating and switch to Normal mode
cSwitch to RenamePane mode with pane name input
iToggle pane pinned and switch to Normal mode

Move Mode#

ShortcutAction
Ctrl hSwitch to Normal mode
n / TabMove pane
pMove pane backwards
h / Move pane left
j / Move pane down
k / Move pane up
l / Move pane right

Tab Mode#

ShortcutAction
Ctrl tSwitch to Normal mode
rSwitch to RenameTab mode with tab name input
h / / / kGo to previous tab
l / / / jGo to next tab
nNew tab and switch to Normal mode
xClose tab and switch to Normal mode
sToggle active sync tab and switch to Normal mode
bBreak pane and switch to Normal mode
]Break pane right and switch to Normal mode
[Break pane left and switch to Normal mode
1-9Go to tab 1-9 and switch to Normal mode
TabToggle tab

Scroll Mode#

ShortcutAction
Ctrl sSwitch to Normal mode
eEdit scrollback and switch to Normal mode
sSwitch to EnterSearch mode with search input
Ctrl cScroll to bottom and switch to Normal mode
j / Scroll down
k / Scroll up
Ctrl f / PageDown / / lPage scroll down
Ctrl b / PageUp / / hPage scroll up
dHalf page scroll down
uHalf page scroll up

Search Mode#

ShortcutAction
Ctrl sSwitch to Normal mode
Ctrl cScroll to bottom and switch to Normal mode
j / Scroll down
k / Scroll up
Ctrl f / PageDown / / lPage scroll down
Ctrl b / PageUp / / hPage scroll up
dHalf page scroll down
uHalf page scroll up
nSearch downward
pSearch upward
cToggle case sensitivity option
wToggle wrap option
oToggle whole word option

EnterSearch Mode#

ShortcutAction
Ctrl c / EscSwitch to Scroll mode
EnterSwitch to Search mode

RenameTab Mode#

ShortcutAction
Ctrl cSwitch to Normal mode
EscUndo rename tab and switch to Tab mode

RenamePane Mode#

ShortcutAction
Ctrl cSwitch to Normal mode
EscUndo rename pane and switch to Pane mode

Session Mode#

ShortcutAction
Ctrl oSwitch to Normal mode
Ctrl sSwitch to Scroll mode
dDetach
wLaunch or focus session manager plugin and switch to Normal mode
cLaunch or focus configuration plugin and switch to Normal mode
pLaunch or focus plugin manager and switch to Normal mode
aLaunch or focus about plugin and switch to Normal mode

Tmux Mode#

ShortcutAction
[Switch to Scroll mode
Ctrl bWrite 2 and switch to Normal mode
"New pane downward and switch to Normal mode
%New pane rightward and switch to Normal mode
zToggle fullscreen focus and switch to Normal mode
cNew tab and switch to Normal mode
,Switch to RenameTab mode
pGo to previous tab and switch to Normal mode
nGo to next tab and switch to Normal mode
Left / hMove focus left and switch to Normal mode
Right / lMove focus right and switch to Normal mode
Down / jMove focus down and switch to Normal mode
Up / kMove focus up and switch to Normal mode
oFocus next pane
dDetach
SpaceNext swap layout
xClose focus and switch to Normal mode

Shared Shortcuts#

ShortcutActionAvailable In
Ctrl gSwitch to Locked modeAll except Locked
Ctrl qQuitAll except Locked
Alt fToggle floating panesAll except Locked
Alt nNew paneAll except Locked
Alt iMove tab leftAll except Locked
Alt oMove tab rightAll except Locked
Alt h / Alt ←Move focus or tab leftAll except Locked
Alt l / Alt →Move focus or tab rightAll except Locked
Alt j / Alt ↓Move focus downAll except Locked
Alt k / Alt ↑Move focus upAll except Locked
Alt = / Alt +Increase sizeAll except Locked
Alt -Decrease sizeAll except Locked
Alt [Previous swap layoutAll except Locked
Alt ]Next swap layoutAll except Locked
Enter / EscSwitch to Normal modeAll except Normal and Locked

Mode Switching Shortcuts#

ShortcutActionAvailable In
Ctrl pSwitch to Pane modeAll except Pane and Locked
Ctrl nSwitch to Resize modeAll except Resize and Locked
Ctrl sSwitch to Scroll modeAll except Scroll and Locked
Ctrl oSwitch to Session modeAll except Session and Locked
Ctrl tSwitch to Tab modeAll except Tab and Locked
Ctrl hSwitch to Move modeAll except Move and Locked
Ctrl bSwitch to Tmux modeAll except Tmux and Locked

Source:

Vim Mode in Fish Shell#

Essential Shortcuts#

ShortcutAction
EscapeSwitch to normal (command) mode
iEnter insert mode
aEnter insert mode after cursor
AEnter insert mode at end of line
hjklNavigate left/down/up/right
0Move to beginning of line
$Move to end of line
wMove forward one word
bMove backward one word
ddDelete entire line
dwDelete word
d$Delete to end of line
uUndo
/Search forward
nNext search result
NPrevious search result
vEnter visual mode for selection
yYank (copy) selected text
pPaste

Source:

  • Fish shell documentation (fish_vi_key_bindings)

Default Mode in Fish Shell#

ShortcutAction
Ctrl+AMove to beginning of line
Ctrl+EMove to end of line
Alt+FMove forward one word
Alt+BMove backward one word
Ctrl+P or Previous command in history
Ctrl+N or Next command in history
Ctrl+RReverse search through history
Alt+.Insert last argument of previous command

Editing#

ShortcutAction
Ctrl+UDelete from cursor to beginning of line
Ctrl+KDelete from cursor to end of line
Ctrl+WDelete previous word
Alt+DDelete word forward
Ctrl+TSwap two characters
Alt+TSwap two words
Ctrl+LClear screen

Command Control#

ShortcutAction
Ctrl+CCancel current command
Ctrl+ZSuspend process
TabAuto-complete
Alt+EEdit command in external editor
Alt+LList directory contents

Source:

  • Fish shell documentation (default key bindings)

Browser Keyboard Shortcuts#

ShortcutAction
Ctrl+L or F6Focus on address bar
Ctrl+TOpen new tab
Ctrl+NOpen new window
Ctrl+WClose current tab
Ctrl+Shift+TReopen closed tab
Ctrl+TabSwitch to next tab
Ctrl+Shift+TabSwitch to previous tab
Ctrl+1 to Ctrl+8Switch to specific tab (1st through 8th)
Ctrl+9Switch to the last tab
Alt+HomeGo to homepage
Alt+← or BackspaceGo back
Alt+→ or Shift+BackspaceGo forward
F5Reload page
Ctrl+F5 or Shift+F5Reload page (bypass cache)
EscStop loading page

Viewing and Reading#

ShortcutAction
F11Toggle full screen
Ctrl+FFind on page
F3 or Ctrl+GFind next match
Shift+F3 or Ctrl+Shift+GFind previous match
Ctrl++ (plus)Zoom in
Ctrl+- (minus)Zoom out
Ctrl+0Reset zoom to 100%
Ctrl+UView page source
SpaceScroll down
Shift+SpaceScroll up
HomeGo to top of page
EndGo to bottom of page
Ctrl+DBookmark current page
Ctrl+Shift+DBookmark all open tabs
Ctrl+HView history
Ctrl+JView downloads

Editing#

ShortcutAction
Ctrl+CCopy selected text
Ctrl+XCut selected text
Ctrl+VPaste text
Ctrl+ZUndo
Ctrl+Y or Ctrl+Shift+ZRedo
Ctrl+ASelect all

Miscellaneous#

ShortcutAction
Alt+F or F10Open browser menu
Ctrl+K or Ctrl+ESearch from address bar
Ctrl+EnterAdd www. and .com to text in address bar
Shift+EnterAdd www. and .net to text in address bar
Ctrl+Shift+EnterAdd www. and .org to text in address bar
Ctrl+Shift+DeleteOpen clear browsing data options
Ctrl+Shift+BToggle bookmarks bar
Ctrl+Shift+NNew incognito/private window
Ctrl+PPrint page
Ctrl+SSave page

Developer Tools#

ShortcutAction
Ctrl+Shift+I or F12Open developer tools
Ctrl+Shift+JOpen developer tools console
Ctrl+Shift+CInspect element tool (element selector)
Ctrl+Shift+MToggle device emulation (responsive design mode)
F8 or Ctrl+\Pause/resume script execution
F10 or Ctrl+'Step over next function call
F11 or Ctrl+;Step into next function call
Shift+F11 or Ctrl+Shift+;Step out of current function

Source:

  • Common browser shortcuts (Chrome, Firefox, Edge)

| Go to the last tab | | t | Create new tab | | x | Close current tab | | X | Restore closed tab | | ^ | Go to previously-visited tab | | T | Search through your open tabs |

History#

ShortcutAction
HGo back in history
LGo forward in history

Marks#

ShortcutAction
maSet local mark “a”
mASet global mark “A”
'aJump to local mark “a”
'AJump to global mark “A”

Advanced Navigation#

ShortcutAction
/Enter find mode
nCycle forward to the next find match
NCycle backward to the previous find match
oOpen URL, bookmark or history entry
OOpen URL, bookmark or history entry in a new tab
b or Ctrl-bSearch bookmarks
BSearch bookmarks (new tab)
[[Follow the link labeled “previous” or “<”
]]Follow the link labeled “next” or “>”

Visual Mode#

ShortcutAction
vEnter visual mode
VEnter visual line mode
Once in visual mode:
h, j, k, lMove the cursor
yCopy selected text
EscExit visual mode

Miscellaneous#

ShortcutAction
iEnter insert mode (disable Vimium)
EscExit insert mode
giFocus the first text input on the page
gfCycle focus to the next frame
ziZoom page in
zoZoom page out
zzReset zoom to default
yfCopy a link URL to the clipboard

Advanced Commands#

ShortcutAction
:Enter command mode
Some useful commands:
:open example.comOpen URL in current tab
:tabnew example.comOpen URL in new tab
:duplicateDuplicate current tab
:settingsOpen Vimium settings

Source:

  • Vimium browser extension documentation

VS Code Keyboard Shortcuts#

Editor Basics#

ShortcutAction
Ctrl+XCut line (empty selection)
Ctrl+CCopy line (empty selection)
Alt+↑ / Alt+↓Move line up/down
Shift+Alt+↑ / Shift+Alt+↓Copy line up/down
Ctrl+Shift+KDelete line
Ctrl+EnterInsert line below
Ctrl+Shift+EnterInsert line above
Ctrl+] / Ctrl+[Indent/outdent line
Home / EndGo to beginning/end of line
Ctrl+Home / Ctrl+EndGo to beginning/end of file
Ctrl+LSelect current line
Ctrl+F2Select all occurrences of current word
Ctrl+Alt+↑ / Ctrl+Alt+↓Insert cursor above/below
Alt+ClickInsert cursor at position
Ctrl+SpaceTrigger suggestion
Ctrl+Shift+SpaceTrigger parameter hints
TabEmmet expand abbreviation (in HTML/CSS files)

Multi-cursor and Selection#

ShortcutAction
Alt+ClickInsert cursor
Ctrl+Alt+↑ / Ctrl+Alt+↓Insert cursor above/below
Ctrl+UUndo last cursor operation
Shift+Alt+IInsert cursor at end of each line selected
Ctrl+LSelect current line
Ctrl+Shift+LSelect all occurrences of current selection
Shift+Alt+→Expand selection
Shift+Alt+←Shrink selection
Shift+Alt+(drag mouse)Column (box) selection
Ctrl+Shift+Alt+(arrow key)Column (box) selection

Rich Language Editing#

ShortcutAction
Ctrl+SpaceTrigger suggestion
Ctrl+Shift+SpaceTrigger parameter hints
Shift+Alt+FFormat document
Ctrl+K Ctrl+FFormat selection
F12Go to definition
Alt+F12Peek definition
Ctrl+K F12Open definition to the side
Ctrl+.Quick fix
F2Rename symbol
Ctrl+Shift+. / Ctrl+Shift+,Replace with next/previous value
Ctrl+K Ctrl+XTrim trailing whitespace
Ctrl+K MChange file language
ShortcutAction
Ctrl+TShow all symbols
Ctrl+GGo to line…
Ctrl+PGo to file…
Ctrl+Shift+OGo to symbol…
Ctrl+Shift+MShow problems panel
F8 / Shift+F8Go to next/previous error or warning
Alt+← / Alt+→Go back/forward
Ctrl+MToggle Tab moves focus
Ctrl+FFind
Ctrl+HReplace
F3 / Shift+F3Find next/previous
Alt+EnterSelect all occurrences of Find match
Ctrl+DAdd selection to next Find match
Ctrl+K Ctrl+DMove last selection to next Find match
Alt+C / Alt+R / Alt+WToggle case sensitivity / regex / whole word

Editor Management#

ShortcutAction
Ctrl+F4 / Ctrl+WClose editor
Ctrl+K FClose folder
Ctrl+\Split editor
Ctrl+1 / Ctrl+2 / Ctrl+3Focus into 1st, 2nd, 3rd editor group
Ctrl+K Ctrl+← / Ctrl+K Ctrl+→Focus into previous/next editor group
Ctrl+Shift+PgUp / Ctrl+Shift+PgDnMove editor left/right
Ctrl+K ← / Ctrl+K →Move active editor group

File Management#

ShortcutAction
Ctrl+NNew file
Ctrl+OOpen file…
Ctrl+SSave
Ctrl+Shift+SSave as…
Ctrl+K SSave all
Ctrl+F4Close
Ctrl+K Ctrl+WClose all
Ctrl+Shift+TReopen closed editor
Ctrl+K EnterKeep preview editor open
Ctrl+TabOpen next
Ctrl+Shift+TabOpen previous
Ctrl+K PCopy path of active file
Ctrl+K RReveal active file in Explorer
Ctrl+K OShow active file in new window/instance

Display#

ShortcutAction
F11Toggle full screen
Shift+Alt+0Toggle editor layout (horizontal/vertical)
Ctrl+= / Ctrl+-Zoom in/out
Ctrl+BToggle sidebar visibility
Ctrl+Shift+EShow Explorer / Toggle focus
Ctrl+Shift+FShow Search
Ctrl+Shift+GShow Source Control
Ctrl+Shift+DShow Debug
Ctrl+Shift+XShow Extensions
Ctrl+Shift+HReplace in files
Ctrl+Shift+JToggle Search details
Ctrl+Shift+UShow Output panel
Ctrl+Shift+VOpen Markdown preview
Ctrl+K VOpen Markdown preview to the side
Ctrl+K ZZen Mode (Esc Esc to exit)

Debug#

ShortcutAction
F9Toggle breakpoint
F5Start/Continue
Shift+F5Stop
F11 / Shift+F11Step into/out
F10Step over
Ctrl+K Ctrl+IShow hover

Integrated Terminal#

ShortcutAction
Ctrl+`Show integrated terminal
Ctrl+Shift+`Create new terminal
Ctrl+Shift+CCopy selection
Ctrl+Shift+VPaste into active terminal
Ctrl+↑ / Ctrl+↓Scroll up/down
Shift+PgUp / Shift+PgDnScroll page up/down
Ctrl+Home / Ctrl+EndScroll to top/bottom

Source:

  • VS Code default keyboard shortcuts for Windows/Linux

NeoVim Keyboard Shortcuts#

Changing Modes#

ShortcutAction
<ESC>Exit from other modes into NORMAL mode
i / IEnter INSERT mode (before current character / first character in line)
a / AEnter INSERT mode (after current character / end of line)
o / OCreate empty line below/above cursor and enter INSERT mode
vEnter Visual mode (character selection)
VEnter Visual mode (line selection)
<CTRL>-vEnter Visual mode (block selection)
:Enter COMMAND-LINE mode

Normal Mode Basics#

ShortcutAction
JJoin line at cursor with line below it
uUndo last edit
UUndo all changes on last edited line
<CTRL>-rRedo (reverse the preceding undo)
pPut (paste)
ZZWrite file and exit
.Repeat last change

Operators#

ShortcutAction
yCopy (Yank)
cChange (delete and enter INSERT mode)
dDelete

Motions#

ShortcutAction
w / WStart of next word/WORD
b / BStart of previous word/WORD
e / EEnd of next word/WORD
ge / gEEnd of previous word/WORD
0 or <HOME>First character of line
^First non-blank character of line
$End of line
f{char} / F{char}Forward/backward to character
t{char} / T{char}Forward/backward until character (stops before)
%Matching pair (parenthesis, brackets)

Cursor Movements#

ShortcutAction
h or <LEFT>Move left
j or <DOWN>Move down
k or <UP>Move up
l or <RIGHT>Move right
HFirst line on screen (High)
MMiddle line on screen
LLast line on screen (Low)

Scrolling#

ShortcutAction
<CTRL>-uScroll half page up
<CTRL>-dScroll half page down
<CTRL>-yScroll up one line
<CTRL>-eScroll down one line
<CTRL>-bScroll up one screen (minus 2 lines)
<CTRL>-fScroll down one screen (minus 2 lines)
ztMove cursor line to top of screen
zzMove cursor line to middle of screen
zbMove cursor line to bottom of screen

Selection Objects#

Prefix + ObjectAction
i / a + wInner/a word
i / a + WInner/a WORD (includes punctuation)
i / a + sInner/a sentence
i / a + pInner/a paragraph
i / a + [ or ]Inner/a [] block
i / a + ( or ) or bInner/a () block
i / a + < or >Inner/a <> block
i / a + { or }Inner/a {} block

Common Shortcuts#

ShortcutAction
sChange one character
xDelete character under cursor
XDelete character left of cursor
r{char}Replace character under cursor
CChange to end of line
DDelete to end of line
yyCopy whole line
cc or SChange whole line
ddDelete whole line

Window Management#

ShortcutAction
<CTRL>-w wJump between windows
<CTRL>-w tMove to top window
<CTRL>-w bMove to bottom window
<CTRL>-w +Increase window size
<CTRL>-w -Decrease window size
<CTRL>-w h/j/k/lNavigate to window (left/down/up/right)
<CTRL>-w H/J/K/LMove window (left/down/up/right)
<CTRL>-w oKeep only current window (close others)

Visual Block Mode#

ShortcutAction
oChange cursor to other end of selection
OChange corner in block selection
I{string}<Esc>Insert text at left of block on each line
A{string}<Esc>Insert text at right of block on each line
C{string}<Esc>Delete block and enter insert mode

Operator+Motion Action Combinations#

ShortcutAction
dwDelete to next word
d$ or DDelete to end of line
d0Delete to beginning of line
diwDelete inner word
di(Delete text inside ()
di{Delete text inside {}
di[Delete text inside []
di"Delete text inside ""
dipDelete inner paragraph
cwChange to next word
c$ or CChange to end of line
c0Change to beginning of line
ciwChange inner word
ci(Change text inside ()
ci{Change text inside {}
ci[Change text inside []
ci"Change text inside ""
cipChange inner paragraph
yiwYank (copy) inner word
yi(Yank text inside ()
yi{Yank text inside {}
yi[Yank text inside []
yi"Yank text inside ""
yipYank inner paragraph

Marks#

ShortcutAction
m{char}Set mark at cursor position (a-z for file-local, A-Z for global)
`{char}Jump to position of mark
'{char}Jump to line of mark
`.Jump to position of last edit
'.Jump to line of last edit
`0Jump to position where you last exited Vim
`"Jump to position when you last edited this file
`[Jump to start of last yanked text
`]Jump to end of last yanked text
:marksList all marks

Folding#

ShortcutAction
zoOpen fold
zcClose fold
zaToggle fold
zROpen all folds
zMClose all folds
zjMove to next fold
zkMove to previous fold

Macros#

ShortcutAction
q{char}Start recording macro into register {char}
qStop recording macro
@{char}Execute macro in register {char}
@@Repeat last executed macro
{count}@{char}Execute macro {count} times

Search and Replace#

ShortcutAction
/{pattern}Search forward
?{pattern}Search backward
n / NNext/previous occurrence
*Search forward for word under cursor
#Search backward for word under cursor
:s/from/to/[flags]Find and replace

Command-Line Mode#

CommandAction
:edit filenameEdit new file or load existing
:qQuit
:q!Quit without saving changes
:wSave file
:saveas filenameSave as new filename
:file filenameChange current filename
:s/from/to/[flags]Find and replace

Window Commands#

CommandAction
:newOpen window on new empty file (above)
:splitSplit window horizontally
:vsplitSplit window vertically
:closeClose current window
:onlyClose all windows except current

Source:

LazyVim Keyboard Shortcuts#

KeyDescriptionMode
<C-h>Go to left windown
<C-j>Go to lower windown
<C-k>Go to upper windown
<C-l>Go to right windown
<C-Up>Increase window heightn
<C-Down>Decrease window heightn
<C-Left>Decrease window widthn
<C-Right>Increase window widthn
<A-j>Move downn, i, v
<A-k>Move upn, i, v
<leader>-Split window belown
<leader>|Split window rightn
<leader>wdDelete windown
<leader>wm / <leader>uZToggle zoom moden
<leader>uzToggle zen moden

Buffer Management#

KeyDescriptionMode
<S-h> / [bPrevious buffern
<S-l> / ]bNext buffern
<leader>bb / `Switch to other buffern
<leader>bdDelete buffern
<leader>boDelete other buffersn
<leader>bDDelete buffer and windown
<leader>blDelete buffers to the leftn
<leader>brDelete buffers to the rightn
<leader>bpToggle pinn
<leader>bPDelete non-pinned buffersn
[BMove buffer prevn
]BMove buffer nextn

Tab Management#

KeyDescriptionMode
<leader><tab>lLast tabn
<leader><tab>fFirst tabn
<leader><tab><tab>New tabn
<leader><tab>]Next tabn
<leader><tab>[Previous tabn
<leader><tab>dClose tabn
<leader><tab>oClose other tabsn

Search & Find#

KeyDescriptionMode
<esc>Escape and clear hlsearchi, n, s
<leader>urRedraw / Clear hlsearch / Diff updaten
nNext search resultn, x, o
NPrev search resultn, x, o
<leader>/Grep (root dir)n
<leader>sgGrep (root dir)n
<leader>sGGrep (cwd)n
<leader>swSearch word (root dir)n, x
<leader>sWSearch word (cwd)n, x
<leader>ssGoto symbol (aerial)n
<leader>srSearch and replacen, v

File Operations#

KeyDescriptionMode
<C-s>Save filei, x, n, s
<leader>fnNew filen
<leader><space>Find files (root dir)n
<leader>ffFind files (root dir)n
<leader>fFFind files (cwd)n
<leader>fgFind files (git-files)n
<leader>frRecent filesn
<leader>fRRecent files (cwd)n
<leader>fcFind config filen

Code Navigation & LSP#

KeyDescriptionMode
<leader>clLSP infon
gdGoto definitionn
grReferencesn
gIGoto implementationn
gyGoto type definitionn
gDGoto declarationn
KHovern
gKSignature helpn
<c-k>Signature helpi
<leader>caCode actionn, v
<leader>ccRun codelensn, v
<leader>crRenamen
<leader>cRRename filen
<leader>cfFormatn, v
<leader>cFFormat injected langsn, v
<leader>cdLine diagnosticsn
]dNext diagnosticn
[dPrev diagnosticn
]eNext errorn
[ePrev errorn
]wNext warningn
[wPrev warningn
<leader>csSymbols (trouble)n
<leader>cSLSP references (trouble)n

Diagnostics & Trouble#

KeyDescriptionMode
<leader>xxDiagnostics (trouble)n
<leader>xXBuffer diagnostics (trouble)n
<leader>xLLocation list (trouble)n
<leader>xQQuickfix list (trouble)n
<leader>xlLocation listn
<leader>xqQuickfix listn
[qPrevious quickfixn
]qNext quickfixn

Terminal#

KeyDescriptionMode
<leader>ftTerminal (root dir)n
<leader>fTTerminal (cwd)n
<c-/>Terminal (root dir) / Hide terminaln, t
<c-_>which_key_ignoren, t

Git#

KeyDescriptionMode
<leader>gbGit blame linen
<leader>gBGit browse (open)n, x
<leader>gYGit browse (copy)n, x
<leader>gsGit statusn
<leader>gSGit stashn
<leader>gdGit diff (hunks)n

UI Toggles#

KeyDescriptionMode
<leader>ufToggle auto format (global)n
<leader>uFToggle auto format (buffer)n
<leader>usToggle spellingn
<leader>uwToggle wrapn
<leader>uLToggle relative numbern
<leader>udToggle diagnosticsn
<leader>ulToggle line numbersn
<leader>ucToggle conceal leveln
<leader>uAToggle tablinen
<leader>uTToggle treesitter highlightn
<leader>ubToggle dark backgroundn
<leader>uCColorschemesn
<leader>uhToggle inlay hintsn

Comments#

KeyDescriptionMode
gcoAdd comment belown
gcOAdd comment aboven

Debug#

KeyDescriptionMode
<leader>dppToggle profilern
<leader>dphToggle profiler highlightsn
<leader>uiInspect posn
<leader>uIInspect treen
<leader>daRun with argsn
<leader>dbToggle breakpointn
<leader>dBBreakpoint conditionn
<leader>dcRun/continuen
<leader>dCRun to cursorn
<leader>diStep inton
<leader>doStep outn
<leader>dOStep overn
<leader>dtTerminaten
<leader>duDap UIn
<leader>deEvaln, v

Extra Plugins#

KeyDescriptionMode
<leader>lLazyn
<leader>LLazyVim changelogn
<leader>cmMasonn
<leader>qqQuit alln
<leader>sn+noicen
<leader>snaNoice alln
<leader>sndDismiss alln
<leader>snhNoice historyn
<leader>snlNoice last messagen
<leader>sntNoice pickern
<leader>e / <leader>feExplorer (root dir)n
<leader>E / <leader>fEExplorer (cwd)n

Testing#

KeyDescriptionMode
<leader>t+testn
<leader>trRun nearest (neotest)n
<leader>tlRun last (neotest)n
<leader>ttRun file (neotest)n
<leader>tTRun all test files (neotest)n
<leader>tsToggle summary (neotest)n
<leader>toShow output (neotest)n
<leader>tOToggle output panel (neotest)n
<leader>tSStop (neotest)n
<leader>twToggle watch (neotest)n
<leader>tdDebug nearestn

Session Management#

KeyDescriptionMode
<leader>qdDon’t save current sessionn
<leader>qlRestore last sessionn
<leader>qsRestore sessionn
<leader>qSSelect sessionn

Source:

  • Default LazyVim keybindings (Modes: n=normal, i=insert, v=visual, x=visual line, s=select)

Fish Shell fzf.fish Shortcuts#

Core Commands#

ShortcutActionPreview
Ctrl+Alt+FSearch DirectoryFile with syntax highlighting
Ctrl+Alt+LSearch Git LogCommit message and diff
Ctrl+Alt+SSearch Git StatusGit diff of the file
Ctrl+RSearch HistoryCommand with syntax highlighting
Ctrl+Alt+PSearch ProcessesCPU/memory usage and process info
Ctrl+VSearch VariablesVariable’s scope info and values

Search Directory Features#

  • Directories inserted with trailing / for easy navigation
  • If cursor is on a directory path with trailing slash (e.g., .config/), that directory is searched
  • Ignores files that are also ignored by git
  • Tab to select multiple files

Search Git Log Features#

  • Shows formatted git log with commit hashes
  • Preview window shows full commit message and diff
  • Can be customized with fzf_git_log_format variable

Search Git Status Features#

  • Shows modified, staged, and untracked files
  • Preview window shows git diff of the file
  • Helpful for quickly adding specific files to commits

Search History Features#

  • Shows timestamp for each command
  • Timestamp format customizable via fzf_history_time_format
  • Preserves Fish syntax highlighting in preview

Common fzf Navigation#

ShortcutAction
/ or Ctrl+P / Ctrl+NNavigate up/down in results
EnterSelect current item and exit
TabSelect multiple items
Shift+TabDeselect item
Ctrl+SpaceToggle selection
Alt+EnterSelect all matches
EscExit without selecting
Alt+↑ / Alt+↓Scroll preview window up/down
Ctrl+/Toggle help menu
Ctrl+RToggle sort order
Alt+WToggle preview wrap

Configuration Options#

To customize key bindings, use the fzf_configure_bindings function in your config.fish:

# Example: Disable history search and use different key for directory search
fzf_configure_bindings --history= --directory=\e\cf

Source:

  • fzf.fish plugin documentation

VSCode Neovim Integration#

ModeShortcutAction
NormalhjklBasic movement
Normalw / b / eWord navigation
Normal0 / ^ / $Line navigation
Normalgg / GDocument start/end
Normal{ / }Paragraph navigation
Normal<C-u> / <C-d>Half page up/down
Normal<C-f> / <C-b>Full page up/down
Normalzz / zt / zbCenter/top/bottom view
Insert<C-o>Run one normal mode command
Normali / a / I / AEnter insert mode
Visualv / V / <C-v>Visual selections

Code Navigation#

ModeShortcutAction
NormalgdGo to definition
NormalgDPeek definition
NormalgfGo to declaration
NormalgHFind all references
Normalgh / KShow hover
Normal<C-w>gdOpen definition aside
NormalgOGo to symbol
Normal<C-n> / <C-p>Navigate suggestion lists

File/Buffer Management#

ModeShortcutAction
Normal:e {file}Edit file
Normal:wSave file
Normal:qClose editor
Normal<leader>ffFind files
Normal<leader>fgFind in git files
Normal<leader>sgSearch in files
Normal<C-w>s / :splitSplit horizontally
Normal<C-w>v / :vsplitSplit vertically
Normal<C-w>h/j/k/lNavigate splits
Normal<C-w>o / :onlyKeep only current window

Window/Tab Management#

ModeShortcutAction
Normal:tabnewNew tab
Normalgt / gTNext/previous tab
Normal:tabcClose tab
Normal<C-w>+ / <C-w>-Resize height
Normal<C-w>> / <C-w><Resize width
Normal<C-Up/Down/Left/Right>Resize panes

Multiple Cursors#

ModeShortcutAction
Visual Linema / mAAdd cursor at end of each line
Visual Linemi / mIAdd cursor at start of each line
Visual BlockmaAdd cursor after block
Visual BlockmiAdd cursor before block
Insert<C-v> passthroughUse VSCode multi-cursor

Code Actions and Formatting#

ModeShortcutAction
Normal/Visual=Format selection
Normal==Format line
Normal<leader>caCode actions
Normal<leader>crRename symbol
Normal<leader>cfFormat file

Explorer Navigation#

ModeShortcutAction
Normalj / kMove up/down
Normalh / lCollapse/expand
NormalEnterOpen file
NormaloToggle expand
Normala / ANew file/folder
NormalrRename
NormaldDelete
Normaly / x / pCopy/cut/paste

Source:

  • VSCodeVim/Neovim extension documentation