首頁>Club>
10
回覆列表
  • 1 # 紫璇4075

    這是我自己csdn部落格上的整理,拿出來給大家分享一下。

    一、大範圍的移動:

    * 當游標停留在一個單詞上,* 鍵會在檔案內搜尋該單詞,並跳轉到下一處;

    當游標停留在一個單詞上,# 在檔案內搜尋該單詞,並跳轉到上一處;

    (/) 移動到 前/後 句 的開始;

    {/} 跳轉到 當前/下一個 段落 的開始。

    g_ 到本行最後一個不是 blank 字元的位置。

    fa 到下一個為 a 的字元處,你也可以fs到下一個為s的字元。

    t, 到逗號前的第一個字元。逗號可以變成其它字元。

    3fa 在當前行查詢第三個出現的 a。

    F/T 和 f 和 t 一樣,只不過是相反方向;

    gg 將游標定位到檔案第一行起始位置;

    G 將游標定位到檔案最後一行起始位置;

    NG或Ngg 將游標定位到第 N 行的起始位置。

    在螢幕中找到需要的 一頁 時,可以用下面的命令快速移動游標:

    H 將游標移到螢幕上的起始行(或最上行);

    M 將游標移到螢幕中間;

    L 將游標移到螢幕最後一行。

    同樣需要注意字母的大小寫。H 和 L 命令還可以加數字。如 2H 表示將游標移到螢幕的第2行,3L 表示將游標移到螢幕的倒數第3行。

    當將游標移到所要的行是,行內移動 游標可以用下面的命令來實現:

    w 右移游標到下一個字的開頭;

    e 右移游標到一個字的末尾;

    b 左移游標到前一個字的開頭;

    0 數字0,左移游標到本行的開始;

    $ 右移游標,到本行的末尾;

    ^ 移動游標,到本行的第一個非空字元。

    二、搜尋匹配

    和許多先進的編輯器一樣,Vim 提供了強大的字串搜尋功能。要查詢檔案中指定字或短語出現的位置,可以用Vim直接進行搜尋,而不必以手工方式進行。搜尋方法是:鍵入字元 / ,後面跟以要搜尋的字串,然後按回車鍵。編輯程式執行正向搜尋(即朝檔案末尾方向),並在找到指定字串後,將游標停到該字串的開頭;鍵入 n 命令可以繼續執行搜尋,找出這一字串下次出現的位置。用字元 ? 取代 / ,可以實現反向搜尋(朝檔案開頭方向)。例如:

    /str1 正向搜尋字串 str1;

    n 繼續搜尋,找出 str1 字串下次出現的位置;

    N 繼續搜尋,找出 str1 字串上一次出現的位置;

    ?str2 反向搜尋字串 str2 。

    Vim常規的刪除命令是 d、 x (前者刪除 行 ,後者刪除 字元 ),結合Vim的其他特性可以實現基礎的刪除功能。將游標定位於檔案內指定位置後,可以用其他字元來替換游標所指向的字元,或從當前游標位置刪除一個或多個字元或一行、多行。例如:

    rc 用 c 替換游標所指向的當前字元;

    nrc 用 c 替換游標所指向的前 n 個字元;

    5rA 用 A 替換游標所指向的前 5 個字元;

    四、字串搜尋

    在 編輯模式 講過字串的搜尋,此處的 命令模式 也可以進行字串搜尋,給出一個字串,可以透過搜尋該字串到達指定行。如果希望進行正向搜尋,將待搜尋的字串置於兩個/ 之間;如果希望反向搜尋,則將字串放在兩個 ? 之間。例如:

    :/str/ 正向搜尋,將游標移到下一個包含字串 str 的行

    :?str? 反向搜尋,將游標移到上一個包含字串 str 的行

    :/str/w file 正向搜尋,並將第一個包含字串 str 的行寫入 file 檔案

    :/str1/,/str2/w file 正向搜尋,並將包含字串 str1 的行至包含字串 str2 的行寫

    五、正文替換

    利用 :s 命令可以實現字串的替換。具體的用法包括:

    :%s/str1/str2/ 用字串 str2 替換行中首次出現的字串 str1

    :s/str1/str2/g 用字串 str2 替換行中所有出現的字串 str1

    :.,$ s/str1/str2/g 用字串 str2 替換正文當前行到末尾所有出現的字串 str1

    :1,$ s/str1/str2/g 用字串 str2 替換正文中所有出現的字串 str1

    :g/str1/s//str2/g 功能同上

    :m,ns/str1/str2/g 將從m行到n行的str1替換成str2

    六、分屏

    普通的Vim模式,開啟一個Vim程式只能檢視一個檔案,如果想同時檢視多個檔案,就需要用到Vim分屏與標籤頁功能。

    Vim的分屏,主要有兩種方式:上下分屏(水平分屏)和左右分屏(垂直分屏),在命令模式分別敲入以下命令即可:

    :split(可用縮寫 :sp) 上下分屏;

    :vsplit(可用縮寫 :vsp) 左右分屏。

    另外,也可以在終端裡啟動vim時就開啟分屏操作:

    vim -On file1 file2... 開啟 file1 和 file2 ,垂直分屏

    vim -on file1 file2... 開啟 file1 和 file2 ,水平分屏

    理論上,一個Vim視窗,可以分為多個Vim螢幕,切換螢幕需要用鍵盤快捷鍵,命令分別有:

    Ctrl+w+h 切換到當前分屏的左邊一屏;

    Ctrl+w+l 切換到當前分屏的右邊一屏;

    Ctrl+w+j 切換到當前分屏的下方一屏;

    Ctrl+w+k 切換到當前分屏的上方一屏。

    即鍵盤上的h,j,k,l 四個Vim專用方向鍵,配合Ctrl鍵和w鍵(window的縮寫),就能跳轉到目標分屏。另外,也可以直接按 Ctrl+w+w 來跳轉分屏,不過跳轉方向則是在當前Vim視窗所有分屏中,按照逆時針方向跳轉。

    下面是改變尺寸的一些操作,主要是高度,對於寬度你可以使用 [Ctrl+W <] 或是 [Ctrl+W>] ,但這可能需要最新的版本才支援。

    Ctrl+W = 讓所有的屏都有一樣的高度;

    Ctrl+W + 增加高度;

    Ctrl+W - 減少高度。

    七、標籤頁

    Vim的標籤(Tab)頁,類似瀏覽器的標籤頁,一個標籤頁開啟一個Vim的視窗,一個Vim的視窗可以支援N個分屏。

    在Vim中新建一個標籤的命令是:

    :tabnew

    如果要在新建標籤頁的同時開啟一個檔案,則可以在命令後面直接附帶檔案路徑:

    :tabnew filename

    Vim中的每個標籤頁有一個唯一的數字序號,第一個標籤頁的序號是0,從左向右依次加一。關於標籤頁有一系列操作命令,簡介如下:

    :tN[ext] 跳轉到上一個匹配的標籤

    :tabN[ext] 跳到上一個標籤頁

    :tabc[lose] 關閉當前標籤頁

    :tabdo 為每個標籤頁執行命令

    :tabe[dit] 在新標籤頁裡編輯檔案

    :tabf[ind] 尋找 "path" 裡的檔案,在新標籤頁裡編輯之

    :tabfir[st] 轉到第一個標籤頁

    :tabl[ast] 轉到最後一個標籤頁

    :tabm[ove] N 把標籤頁移到序號為N位置

    :tabnew [filename] 在新標籤頁裡編輯檔案

    :tabn[ext] 轉到下一個標籤頁

    :tabo[nly] 關閉所有除了當前標籤頁以外的所有標籤頁

    :tabp[revious] 轉到前一個標籤頁

    :tabr[ewind] 轉到第一個標籤頁

  • 中秋節和大豐收的關聯?
  • 員工積極性和產品質量如何提高?