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)
edited 13.01.2023
created 17.11.2022
EOF
[+] click to leave a comment [+]
the comment system on this blog works via email. The button
below will generate a mailto: link based on this page's url 
and invoke your email client - please edit the comment there!

[optional] even better, encrypt the email with my public key

- don't modify the subject field
- specify a nickname, otherwise your comment will be shown as   
  anonymous
- your email address will not be disclosed
- you agree that the comment is to be made public.
- to take down a comment, send the request via email.

>> SEND COMMENT <<




the greater struggle via serocell - media feed March 30, 2024

Screenshot: New Device via Detritus March 18, 2024

Idiot's guide to resource migration in Terraform via Archive Fever by Edwin Wenink March 15, 2024
Sometimes we need to migrate resources that are managed in Terraform. Terraform is a declarative language to manage cloud infrastructure from code, which allows you to reliably automate your deployments and put your infrastructure configuration under versi…

Generated by openring from webring