---
# System prepended metadata

title: Vim
tags: [note]

---

# Vim
###### tags: `note`

## History
- vi
- vim vs. neovim

## Games
- PacVim
- vim adventure

## vim-plugin list
- [plugin list](https://github.com/rockerBOO/awesome-neovim#plugin-manager)

## vim-plugin manager
- packer
- [vim-plug](https://github.com/junegunn/vim-plug)


## LSP
> Language Server Protocol
- coc.nvim
- lsconfig

## leader key

## Tips
```
By remembering the first letter of a function name, you can do it actually.

 d - delete
 p - paste
 v - visual
 J - join
 g - global
 c - change
 r - replace
 i - insert

 g/re/p - globally, regular expressions, print

 Using object motions
 aw - a word
 iw - in word
 a(  -  a ( and content and ending till )
 i(  - text inside ( and )
 a{ - a block
 ap - a paragraph
 at - a tag (html tag)

 You can combine operations with these objects.
 daw - delete a word
 yaw - Yank a word
 di" - delete inside double quotes (")
 ya{ - yank a block
 dap - delete a paragraph
```

```
'.     - Jump to last modification line.
`.     - Jump to exact spot in last modification line
;      - Repeat last movement command
ctrl o - Retrace your movements in file in backwards.
ctrl i - Retrace your movements in file in forwards.
```

number manipulation
```
ctrl a - Increase a number
ctrl x - Decreaes a number
```

surrondVim
```
ysiw)  - add parentheses `()` around word
ysiw(  - add parentheses around word with extra space
ds(    - delete parentheses `()` around current word
ds[    - delete parentheses `[]` around current word
```

in Visual mod:
```
u     - make selected charater lower case 
U     - make selected charater upper case
```

## reference
- https://amikai.github.io/2020/09/03/go_neovim_env/
- https://ithelp.ithome.com.tw/users/20130473/ironman/4804?page=2
- [a very good slide](https://hackmd.io/@aben20807/ryg-CBkmm?type=slide#/)
- [a good note in hackmd](https://hackmd.io/@naclyen/ByQa2-buD)