Vim 命令 (轉)

image

上圖引用自何處忘記了,很差意思。linux

基礎快捷鍵

normal模式下 快速查找git

fa → 到下一個爲a的字符處,你也能夠fs到下一個爲s的字符。
    t, → 到逗號前的第一個字符。逗號能夠變成其它字符。
    3fa → 在當前行查找第三個出現的a。
    F 和 T → 和 f 和 t 同樣,只不過是相反方向。
github

區域選擇 a 或 i"]}) action能夠是任何的命令,如 d (刪除), y (拷貝), v (能夠視模式選擇)。 object 多是: w 一個單詞, W 一個以空格爲分隔的單詞, s 一個句字, p 一個段落。也能夠是一個特別的字符:"、 '、 )、 }、 ]。vim

di" 刪除""內的內容,前提光標在"" 中
    yi( 光標在()之間,則複製()之間的內容
    dtx 刪除字符直到碰見光標以後的第一個x字符
    ytx 複製字符直到碰見光標以後的第一個x字符])
   ci" (由 change operator 和 text-object i" 組成) 刪除"" 中內容並進入插入模式

假設你有一個字符串 (map (+) ("foo")).而光標鍵在第一個 o 的位置'code

vi" → 會選擇 foo.
   va" → 會選擇 "foo".
   vi) → 會選擇 "foo".
   va) → 會選擇("foo").
   v2i) → 會選擇 map (+) ("foo")
   v2a) → 會選擇 (map (+) ("foo"))

v/y/d/c -> i/a -> { [ ( " 'orm

0y$ 複製整行
    gg2x 刪開頭量字符

在全部被選擇的行後加上點東西:blog

<C-v>
   選中相關的行 (可以使用 j 或 <C-d> 或是 /pattern 或是 % 等……)
   $ 到行最後
    A, 輸入字符串,按 ESC。

標記ci

ma 將當前位置標記爲a,26個字母都可作標記,mb、mc等等;
    'a 跳轉到a標記的位置; - 這是一組很好的文檔內標記方法,在文檔中跳躍編輯時頗有用;

其餘文檔

gU/gu 整行大寫/小寫
    cw → 替換從光標所在位置後到一個單詞結尾的字符
    g_ → 到本行最後一個不是blank字符的位置。
    對於數字 ctrl+a  遞增增長 ctrl+x  遞減
    <C-r> → redo
    % : 匹配括號移動,包括 (, {, [
    * 和 #:  匹配光標當前所在的單詞,移動光標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)
     { 上一段(以空白行分隔) - } 下一段(以空白行分隔)
    gd 跳到光標所在位置詞(word)的定義位置 g(o)d(efine)

命令模式下字符串

m,nd - 快速刪除第m到第n行 (delete)
    m,ny - 複製第m到第n行 (yank)
    m,nmt - 第m行到第n行剪切到第t行(move)
   m,ncot -第m行到第n行復制到第t行(copy to)
   << 左縮進 >>右縮進
    ● :bn 和 :bp → 你能夠同時打開不少文件,使用這兩個命令來切換下一個或上一個文件。(陳皓注:我喜歡使用:n到下一個文件)

插入模式下

Ctrl-t增長縮進
    Ctrl-d減少縮進。

visual mode

V + j/k  選中多行  -> y/d/x 賦值刪除
    Vap  選中一個段落
    Vaw  單詞 -> Va2w
    Vas  選中一個句子

宏操做

ma 將當前位置標記爲a,26個字母都可作標記,mb、mc等等;
   'a 跳轉到a標記的位置; - 這是一組很好的文檔內標記方法,在文檔中跳躍編輯時頗有用;
    qa 將以後的全部鍵盤操做錄製下來,直到再次在命令模式按下q,並存儲在a中;
    @a 執行剛剛記錄在a裏面的鍵盤操做;
    @@ 執行上一次的macro操做;'

擴展快捷鍵

F1   關掉,防止跳出幫助
    F2  set nu/nonu
   F3  set list/nolist
   F4  set wrap/nowrap
   F5  set paste/nopaste
   F6  syntax on/off
   空格 /開啓查找
   Y   =y$   複製到行尾 
   w!!  以sudo的權限保存
   kj   <Esc>,不用到角落去按esc了
   t    新起一行,下面,不進入插入模式
   T    新起一行,上面
   ,a   全選
   hjkl  上下左右,強迫使用,要解開的本身改
   ctrl + jkhl 進行上下左右窗口跳轉,不須要ctrl+w+jkhl

  ,tn  new tab
  ,tc  tab close
  ,to  tab only
  ,tm  tab move
  ,te  new tab edit
  ctrl+n  相對行號絕對行號變換,默認用相對行號 http://jeffkreeftmeijer.com/2012/relative-line-numbers-in-vim-for-super-fast-movement/   5j/5k  在相對行號模式下,往上移動5行 往下移動5行,不喜歡註解line 142附近relativenumber配置

  ,y 展現歷史剪貼板
  ,yc 清空
  yy/dd -> p -> ctrl+p能夠替換非最近一次剪貼內容

  ,p 開啓文件搜索 ctrlp
   ,/ 去除匹配高亮
相關文章
相關標籤/搜索