--- tags: vim --- # Vim的設定 2020/6/17 在Linux環境裡,vim的設定都是在家目錄下.vimrc這個隱藏檔裡面, vimrc裡的語法就是能夠直接打在vim Command mode的指令。 ![Example of vimrc](https://i.imgur.com/rHMbA8P.png) vimrc示意圖 ## vimrc 以下介紹一些我覺得很方便的設置 1. 將上下左右設定為倒T型: 由於平常用上下左右wasd習慣了,所以將預設的hjkl設定成jikl ``` map i <Up> map j <Left> map k <Down> noremap h i ``` noremap只會map到第一層 2. 將Esc鍵的功能改到其他位置: 由於Esc的位置實在是太遠了,所以我將他改成雙冒號< ;; >, 這樣改的缺點是在寫C/C++的句尾< ; >時會稍微受到影響, 也有人把他改成tab鍵,看個人的習慣 ``` map! ;; <Esc> ``` map vs map! map 只會在normal + (visual + select) + operating pending 進行轉換 map! 只會在insert + command-line mode 進行轉換 3. 設定行數以及相對行數: vim行數顯示設定一共有三種 1. set number: 絕對行數 ![set number](https://i.imgur.com/atQzhfT.png) 2. ser relativenumber: 相對行數 ![set relativenumber](https://i.imgur.com/kL3TGn6.png) 3. set number relativenumber: 混和 ![set hybrid](https://i.imgur.com/qbXwvAx.png) 我預設混和模式,然後按&lt;F2&gt;可以切換到絕對行數 ``` set number relativenumber nnoremap <F2> :set norelativenumber!<CR> ``` nnoremap代表在normal mode的noremap vnoremap作用在visual mode inoremap作用在insert mode &lt;CR&gt; 是迴車鍵return也就是enter 整句就是將&lt;F2&gt; map 成後面的命令