====== 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 ```