====== Cheatsheet ======
* [[http://rainbow.life.tsinghua.edu.cn/~xuelab/tutorial/vim/vi-vim-cheat-sheet-and-tutorial.pdf | vim cheat sheet and tutorial]]
====== Cookbook ======
* http://www.oualline.com/vim-cook.html
* spell check: http://vimdoc.sourceforge.net/htmldoc/spell.html#spell-quickstart
* mouse copy&paste: http://vim.1045645.n5.nabble.com/How-to-configure-vim-to-use-the-mouse-AND-to-copy-and-paste-td3047221.html
* expand tabs: http://vim.wikia.com/wiki/Converting_tabs_to_spaces
* covert between dos/unix format: http://vim.wikia.com/wiki/File_format#cite_note-broken-0
====== Trouble Shooting ======
===== How to change file format and remove dos line endlings =====
* If your vim show "[dos]" on the bottom, you can change it by
:e ++ff=unix
# similar commands include
:e ++ff=dos
:e ++ff=mac
* To remove ^M
:%s/^M//g
# will do it if you use Ctrl-v Ctrl-m to input the ^M
===== How to change default font in windows =====
* In C:\Users\\_vimrc: [[https://superuser.com/questions/364792/how-can-i-set-the-default-font-for-gvim-on-windows | ref]]
(The # shall be removed.)
if has("gui_kde")
#set guifont=Consolas/13/-1/5/50/0/0/0/0/0
elseif has("gui_gtk")
#set guifont=Consolas\ 13
elseif has("gui_running")
if has("win32") || has("win64")
#set guifont=Consolas:h12
else
#set guifont=-xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso8859-1
endif
endif
===== How to enable ctrl+c/ctrl+v/ctrl+a etc in windows =====
* Add "source $VIMRUNTIME/mswin.vim" into C:\Users\yxue\_vimrc
# Tricks
## Vertical rulers on a specific column
[Setup a Ruler on a Specific Column in Vim | Baeldung on Linux](https://www.baeldung.com/linux/vim-ruler-on-specific-column)
In python's [PEP 8](https://peps.python.org/pep-0008/), the maximum line length is limited to 79 (and docstrings/comments to 72). So a vertical indication line is necessary.
You can add a vertical ruler by typing:
```
:set colorcolumn=72,80
```
The line's color can be adjusted, `ctermbg` for vim called from terminal while `guibg` for vim called from GUI (which is gvim)
```
:highlight colorcolumn ctermbg=lightgrey guibg=lightgrey
```
The two lines can be added to `~/.vimrc` for automatic loading. (The # shall be removed.)
```
#set colorcolumn=72,80
highlight colorcolumn ctermbg=lightgrey guibg=lightgrey
```