How do I make mappings feel snappier without breaking key-code timing?
:set timeout timeoutlen=400 ttimeoutlen=30
If custom mappings feel laggy, the issue is often timeout tuning rather than mapping design.
category:
config
tags:
#config
#mappings
#performance
#command-line
#insert-mode
How do I execute a macro while ignoring custom mappings that could change behavior?
Recorded macros can become fragile when your config defines mappings that shadow built-in keys.
category:
macros
tags:
#macros
#normal-mode
#mappings
#command-line
How do I speed up mappings without breaking terminal keycode sequences in Vim?
:set timeoutlen=300 ttimeoutlen=10
If key mappings feel laggy, many users reduce timeoutlen and stop there.
category:
config
tags:
#config
#mappings
#terminal
#performance
#insert-mode
How do I see where a normal-mode mapping was last defined in Vim?
When key behavior is inconsistent, the root cause is usually mapping precedence.
category:
command-line
tags:
#command-line
#mappings
#debugging
#config
#normal-mode
How do I programmatically remove or unmap a keybinding in Neovim Lua without knowing its original definition?
vim.
category:
config
tags:
#config
#neovim
#mappings
#lsp
#normal-mode
How do I create a mapping that calls a script-local function in Vim without namespace collisions?
(Script ID) is a Vimscript token that expands to a unique, per-script prefix at runtime.
category:
config
tags:
#config
#vimscript
#mappings
#functions
#normal-mode
How do I use a count prefix in a custom Vim mapping where no count defaults to 1?
The v:count1 variable holds the count typed before a command, defaulting to 1 if no count was given.
category:
macros
tags:
#macros
#vimscript
#mappings
#normal-mode
How do I enable tab completion inside custom command-line mappings?
The wildcharm option designates a key that, when it appears inside a mapping, triggers wildmenu completion on the command line — just as if you had pressed in
category:
config
tags:
#config
#command-line
#completion
#mappings
How do I make a mapping that opens a Tab completion menu for buffer switching?
set wildcharm= then nnoremap b :b
wildcharm sets the key that triggers wildmenu expansion inside mappings.
category:
config
tags:
#buffers
#wildmenu
#mappings
#completion
How does which-key help discover key mappings?
require('which-key').setup()
which-key.
category:
plugins
tags:
#plugins
#which-key
#mappings
How do I find out which script or plugin defined a specific mapping or setting?
:verbose map <key> or :verbose set option?
The :verbose prefix shows where a mapping, setting, command, or function was defined — which file and line number.
category:
command-line
tags:
#command-line
#debugging
#config
#mappings
#workflow
How do I use the leader key to create my own keyboard shortcuts?
let mapleader = ' ' then nnoremap <leader>key command
The leader key is a configurable prefix for your custom key mappings.
category:
config
tags:
#config
#mappings
#vimrc
#leader
#workflow
How do I convert a recorded macro into a permanent key mapping?
:let @q then use in nnoremap
Macros are stored in registers as plain keystroke strings.
category:
macros
tags:
#macros
#config
#vimrc
#mappings
#workflow
How do I create custom text objects for my own operator-pending motions?
onoremap ih :<C-u>execute "normal! ?^==\+$\r:noh\rkvg_"<CR>
Vim lets you define custom text objects using operator-pending mode mappings (onoremap) and visual mode mappings (vnoremap).
category:
config
tags:
#config
#text-objects
#mappings
#vimrc
#advanced
How do I move the current line up or down without cutting and pasting?
The :m (move) command relocates lines to a new position in the file without using registers.
category:
editing
tags:
#editing
#ex-commands
#lines
#productivity
#mappings
What is the difference between :map and :noremap, and why should I use non-recursive mappings?
:nnoremap / :inoremap / :vnoremap
Vim has two types of key mappings: recursive (:map, :nmap, :imap) and non-recursive (:noremap, :nnoremap, :inoremap).
category:
config
tags:
#config
#mappings
#normal-mode
#insert-mode
#vimrc