vim tricks
My personal cheatsheets for vim-IDE keybindings
You can find my complete nvim configs here
Note this config doesn’t work out of the box. Manual installation/configuation of come packages are required: Packer for most of the plugins, Plugged for “legacy” plugins that don’t work well with lua script based config.
Also, this is only for Neovim.
__ _____ _ _ _____ _____ _ ______ __
|| / ____| | | | __ \|_ _| |/ /___ \ ||
|| | (___ | |__| | |__) | | | | ' / __) | ||
__||__ \___ \| __ | _ / | | | < |__ < __||__
--..-- ____) | | | | | \ \ _| |_| . \ ___) | --..--
|| |_____/|_| |_|_| \_\_____|_|\_\____/ ||
USE VIM OR DIE !
-----------------------------------------------------
|------------ Programming. LSPs.. ---------------------|
\------------------------------------------------------/
K Hover
gd Definition
gD Declarations
gi Implementation
go type def
gr references
gl diag. float
gL diag. current buffer
[d , ]d diag. prev. / next.
C-K help (manual)
<F2> Rename
<F4> Code Action
|------------ Programming.. ---------------------------|
\------------------------------------------------------/
<F3> :ClangFormat (Plugin)
<leader>c kToggle Comment (plugin)
<leader>cc
<leader>f Fuzzy Finder (ACK)
# RUST (rust-tools)
<leader>h hover_actions
<leader>a code action group
|------------ Trivias.. -------------------------------|
\------------------------------------------------------/
# F Keys
<F2> Lsp. Rename
<F3> Clang Format
<F4> Lsp. Code Action
<F6>,<C-t> Split Terminal [plugin]
<F7> In-buffer Terminal [builtin]
<F8> Tagbar (show symbols etc) [Plugin]
<F9> Neotree [plugin]
<F10> Neotree show buffers
ZQ quit
:x = :w
:earlier 5m go back to 5 minutes ago
(reverse the file and jump cursor location)
|------------ Misc..... -------------------------------|
\------------------------------------------------------/
:!boxes -d [d] call boxes, (used with selection, d for
design, e.g. cat)
|------------ Edit.. ----------------------------------|
\------------------------------------------------------/
> add indent for multiple lines
>> add indent for current line
< remove indent ..
u undo
<C-R> redo
vap select around the paragraph
vi( etc..
. repeat last command
D or d$ delete till end of line
C or c$ change till end of line
c switch to insert mode after d
gg=G fix indent (vim built-in)
daw / diw a for around and i for inside, or dip/dap etc.
di( to delete in (), di[, di{, di" etc.
<leader>ss spell check [custom mapping/ plugins]
z= show possible words
:set tw=[n] set textwidth
|------------ Nav. Matching.. -------------------------|
\------------------------------------------------------/
e end of word
$ end of line
^ beginning of line
w for word
p for para
% match parenthesis
|------------ NAV. ------------------------------------|
\------------------------------------------------------/
{ / } pre. / next paragraph
zz put current line to center
zt put current line to top
C-e, C-y scroll up/down by line
C-u, C-d scroll up/down by page
<C-g> show current location (in percentage)
gg / G , go to top / Bottom
25% go to 25 percent of file
|------------ Workspaces. -----------------------------|
\------------------------------------------------------/
<F9> :NERDTreeToggle (neotree)
:sp :vsp split
:res [n] resize
<C-W> c close split
<C-W> h/j/k/l nav. splits
<C-h><C-j> same [custom mappings]
<C-k><C-l>
RESIZE SPLITES:
:vert/hor res +-[n]
|------------ Buffers. --------------------------------|
\------------------------------------------------------/
<leader>bb show list of buffers (mapped to neotree)
:ls showbuffer
:b[n] switch to buffer [n]
<A-TAB> :bn [custom mapping]
|------------ Search / Replace.------------------------|
\------------------------------------------------------/
/ and ? search forward and backward
R replace mode
r[x] replace all characters in selection with x
:s/old/new/g Replace in line
:%s/old/new/g Replace all in file
:%s/old/new/gc Replace all in file, confirm for each
:sort sort selected lines (by first letter)
[+] click to leave a comment [+]
>> SEND COMMENT <<