2014年3月12日 星期三

重新學習vim

vim 中有六種模式:
  1. Normal-mode: 就是一進去vim時預設的模式
  2. Visual-mode: 在Normal-mode下壓 「v」 or 「V」 or 「ctrl-v」,個人比較常用v or ctrl-v
  3. Insert-mode: 在Normal-mode下壓 「i」  or  「a」 後就開始修改文件
  4. Command-mode: 在Normal-mode下壓 「/」 找keywork 或 「:」 執行命令
  5. Select-mode: (個人少用) 跟Visual-mode差不多
  6. Ex-mode: (個人少用) 在Normal-mode下壓 「Q」進入,進入此模式後,執行完命令也不會跳出
快捷键映射:
在 map 与 noremap 前分别可以加 ‘n’, ‘v’, ‘x’, ‘s’, ‘o’, ‘i’, ‘l’, ‘c’: 
  • n 表示在Normal-mode下生效,如 nmap, nnoremap
  • v 表示在Visual-mode下生效,如 vmap, vnoremap
  • i 表示在插入模式下生效,如 imap, inoremap
  • c 表示在命令行模式下生效,如 cmap, cnoremap
map 和 noremap 不加任何前缀的话,会在Normal, Visual模式下生效。
縮排的一些方法:
>>   Indent line by shiftwidth spaces
<<   De-indent line by shiftwidth spaces
5>>  Indent 5 lines
5==  Re-indent 5 lines

>%   Increase indent of a braced or bracketed block (place cursor on brace first)
=%   Reindent a braced or bracketed block (cursor on brace)

取代:
:1,$s/abc/123/g,
將字串abc更換成文字123,並且將此文件裡的所有符合的皆取代
其中「1,$」指的就是從頭至尾。

技巧:
a. 在某個字上依序使用 d+i+{,可以直接將{}中的內容一並刪除
b. 在”some words”中間使用v+i+”,可以一次把” “中的字全部選起來
c. 在 some_words 中使用 yw 可以復制該字串
d. ( 移到這個句子的開頭
   ) 移到下一個句子的開頭
e. 0 數字0,跳轉至行首
   $ 跳轉至行尾

空白Tab顯現:
"設置空格和 tab 字符可見
setlocal list
set listchars=tab:>~,trail:.

移除空白:
:%s/\s\+$//g

ref:

沒有留言:

張貼留言