allenfrostline

My Terminal-Only Development Setup (3)


2024-02-11

In this post I’m just listing some (maybe, based on my use habits) useful commands that I find myself Googling all the time. A lot of them are based on third-party plugins and some are defined in my custom config.lua so it’s definitely not recommended to take the following as your random online reference of VIM commands.

Description Command Source (if not VIM default)
Select all content ggVG
Toggle upper/lower case ~
Toggle wrap mode :toggleWrapMode or yow wrapping.nvim
Split vertically or horizontally | or - custom
Align markdown tables ctrl [ and ctrl ] vim-simple-align, custom
Shuffle tabs tab and shift tab custom
Close current buffer1 space c
Close current window :q
Open a new empty buffer space b custom
Save the changes of current buffer :w or ctrl s and custom
Toggle file explorer space e or ctrl e neo-tree.nvim, custom
Multi-cursor select ctrl n vim-visual-multi
Replace all text :%s/source/target/g vim command
Surround current word with brackets ysiw) nvim-surround
Surround current sentence with qutes ys$" nvim-surround
Surround current selection with quotes S" nvim-surround
Delete the square brackets around cursor ds] nvim-surround
Delete the HTML tag around cursor dst nvim-surround
Change the single quotes to double quotes cs'" nvim-surround
Change the HTML tab around cursor to <h1> csth1 nvim-surround
Enter line-wise visual mode V
Select multiple lines ma (from), v'a (to)
Delete multiple lines ma (from), d'a (to)
Select Virtual Environment vs venv-selector.nvim, custom
LSP telescope diagnostics space lw
LSP next diagnostic space lj
LSP prev diagnostic space lk
LSP code action space la
Show side-by-side git diff :DiffViewOpen diffview.nvim
Delete and substitute current character cl or s
Delete and substitute current word ciw
Delete and substitute util the end of the line c$ or C
Delete and substitute current line cc or S
Search recent files based on file name space sr telescope.nvim
Search files based on file name space sf telescope.nvim
Search files based on text space st telescope.nvim
Search the current word *
No highlight :nohl or space h
Jump in or out ctrl i or ctrl o
Hover information K
Go to definition gd
Go to declaration gD
Format the current JSON file :%!jq . installed jq package in system
Move the current line down or up alt j or alt k
Move the current line to line x :m x
Indent or dedent the current line > or <
Jump forward or backward to the first x fx or Fx
Delete forward before or including character x dtx or dfx
Delete backward after or including character x dTx or dFx
Yank forward before or including character x ytx or yfx
Yank backward after or including character x yTx or yFx
Delete the word diw

  1. Very different concepts: buffers vs windows. For example, when a vertical split view is turned on, you can shuffle through all opened buffers in both left and right views. Now, in order to quit this split view, you’re gonna close a window by :q. In order to close a buffer (can be seen as an opened file) across both views, we need space c↩︎