How do I make half-page scrolling move through wrapped lines instead of jumping over them in Neovim?
set smoothscroll
By default, Neovim's half-page scroll commands (, , , ) count movement by text lines, not screen rows.
set smoothscroll
By default, Neovim's half-page scroll commands (, , , ) count movement by text lines, not screen rows.
set foldlevelstart=N
When Vim opens a file with folds enabled, it uses the foldlevelstart option to decide how many fold levels to open automatically.
:packadd! matchit
Vim's % command jumps between matching brackets by default.
plugins #navigation #plugins #text-objects #matching #normal-mode
]' and ['
The ]' and [' motions let you traverse every lowercase mark set in the current buffer without needing to remember which registers you used.
:delmarks!
Marks accumulate as you work — ma, mb, mc and so on record positions for later jumps.
g$
The g$ command moves the cursor to the last character of the current screen line, not the end of the logical line.
z<CR> and z. and z-
Vim has two sets of scroll-and-position commands: zt/zz/zb (which reposition the screen but keep the cursor column intact) and z/z.
2<C-g>
Pressing prints the current filename, buffer status, and cursor position in the status line.
m'
Vim's jump list automatically records your position whenever you make large motions (like G, /pattern, or ).
<C-z> / :stop
Pressing in Vim sends it to the background of your shell session — just like suspending any Unix process.
z. / z-
Vim has scroll-positioning commands that come in two flavors: those that leave the cursor in the current column (zz, zt, zb) and those that also move the cursor
:sview {file}
The :sview command opens a file in a horizontal split window with the buffer set to read-only.
buffers-windows #buffers-windows #windows #navigation #ex-commands
:set tags+=./tags;,tags
By default, Vim only looks for a tags file in the current directory.
:set define=^\\s*def
Vim's [d, ]d, [D, and ]D commands search for the "definition" of the keyword under the cursor.
:tjump {name}
Vim's :tjump is the smarter sibling of :tag and :tselect.
vim.diagnostic.goto_next()
Neovim's built-in vim.
+ and -
The + and - motions jump to the first non-blank character of the next or previous line respectively — combining vertical movement and ^ into a single, count-a
[<C-d>
Vim's [ command jumps to the first definition of the macro or identifier under the cursor, searching from the beginning of the current file and through any file
]# and [#
Vim provides the ]# and [# motions specifically for navigating C preprocessor conditionals.
:set keywordprg
The K key in normal mode looks up the word under the cursor using the program defined by keywordprg.