Vim游標定位

來源:互聯網
上載者:User
*定位到指定行n:

輸入"nG"

或輸入"ngg"

或輸入":n"

這裡,n就是指定的行的行號.注意,有時候G=gg

*跳到螢幕頂部:

輸入“H”

這裡,停在第一個非Null 字元上。加一個數字N,是指距視窗頂部的行數(如'NH'正數第N行)

*跳到螢幕底部:

輸入“L”

這裡,停在第一個非Null 字元上。加一個數字,是指距視窗底部的行數(如'NL'倒數第N行)

*跳到螢幕中間:

輸入“M”

這裡,停在第一個非Null 字元上

*跳到檔案首:

輸入"gg"

*跳到檔案尾:

輸入“G”

*游標移至句尾:

輸入")"

*游標移至句首:

輸入"("

*游標移至段落開頭:

輸入"}"

*游標移至段落結尾:

輸入"{"

*跳到行末尾:

輸入“$”

*跳到行首:

輸入“^”

或輸入“0”

這裡輸入'^'是移動到首的第一個非空白字元

*向後跳到整檔案最近距離的單詞末尾:

輸入“e”

*向前跳到整檔案最近距離的單詞首部:

輸入“b”

*跳到整檔案下個單詞首部:

輸入“w”

**行內移動

以下均可可以加上數字N首碼表示移動N次(如'3fc'表示執行'fc'3次。)

*移動到游標右面第一個字元c的後面:

輸入"fc"

*移動到游標右面第一個字元c的前面:

輸入"tc"

*移動到游標左面第一個字元c的前面:

輸入"Fc"

*移動到游標左面第一個字元c的後面:

輸入"Tc"

*重複前一次輸入的f, t, F, T命令:

輸入";"

例如剛才是'fc',輸入';'相當於還是'fc'。

*會反方向重複前一次輸入的f, t, F, T命令:

輸入","

例如剛才是'fc',輸入','相當'Fc'。

**

 

**在較長行內的移動:

這裡做一個小小的約定:較長的一行如果佔據了螢幕的多行,那麼這一行我們把它叫“長行”,螢幕上的一行叫做“螢幕行”。所以對於一個'長行'需要有多個'螢幕行'來顯示。

*在“長行”中移動到下一個“螢幕行”:

輸入"gj"

*在“長行”中移動到上一個“螢幕行”:

輸入"gk"

*在"長行"中移動到當前"螢幕行"首:

輸入"g^"

*在"長行"中移動到當前"螢幕行"尾:

輸入"g$"

這裡,如果一行超過了螢幕寬度,會顯示在螢幕的多行,顯示的雖然是多行,但是實際上還是一行,在輸入上下移動的時候雖然是進入了上一行或者下一行,但是往往會呈現出在螢幕中一下跳過n行的樣子。g$, g^, gj , gk 在行超過長度時好用。 j,k下上移動的是文本中的一行,當文本一行的長度超過螢幕的一行的時候,j,k移動的時候在螢幕上可能是移動多行。這時候可以用gj,gk來移動螢幕的一行而不是文本的一行。 同理g^和g$是螢幕的行首行尾,而不是文本的行首行尾。

**

*按百分比來跳轉,跳轉到檔案50%處:

輸入"50%"

這裡利用%實現按百分比來跳轉,如果想跳到75%處,輸入“75%”。

**翻頁

可以跟數字首碼N表示執行的倍數,翻頁可以用[PageUP]/[PageDown].

*向下翻頁:

輸入“[Ctrl]f”

*向上翻頁:

輸入“[Ctrl]b”

*向下翻半頁:

輸入“[Ctrl]d”

*向上翻半頁:

輸入“[Ctrl]u”

**

**相對於游標的翻頁

效果是行向相應的方向滾動了,游標仍然在原來的行,好像是將這個文本拖動了一樣.

*游標所在行移動視窗的頂端:

輸入"zt"

*游標所在行移動視窗的中間:

輸入"zz"

*游標所在行移動視窗的底端:

輸入"zb"

*將第n行滾至螢幕頂部:

輸入“nzt”

*將第n行滾至螢幕底部:

輸入“nzb”

*將第n行滾至螢幕中部:

輸入“nzz”

**

*設定書籤:

輸入“ma”

這樣,會在當前游標的位置標記一個書籤,名字為 a。書籤名只能是小寫字母。你看不見書籤的存在,但它確實已經在那裡了。只能記錄當前檔案裡的書籤,退出vim後再次進入將不會保留這些書籤, 書籤只是當前檔案中的一個位置,但是我實踐一下發現,設定完了書籤之後,儲存檔案,這樣也把書籤儲存了。

*到書籤a處:

輸入"`a"

注意,這個不是單引號,它一般位於大部分鍵盤的 1 的左邊。

*到書籤a所在的行:

輸入"'a"

這裡用的是單引號,將跳到書籤所在的行。

*到上次編輯檔案的地方:

輸入"`."

這個命令很有用,而且你不用自己去標記它,注意這裡輸入的是反引號`,精確到點。

*到上次編輯檔案所在行:

輸入“'.”

注意這裡是精確到行,輸入的是引號‘。

*回到最後一次插入狀態返回的位置:

輸入"'^"

或輸入"`^"

這裡'.精確到行,`.精確到點(行+列)。

*查看當前所有書籤的列表:

輸入":marks"

**搜尋相關:*搜尋一個字串:

輸入“/string”

這裡"string"就是將要被搜尋的字串,會自動跳到游標後面第一個"string"處。

*在上次搜尋的基礎上向前搜尋:

輸入“N”

*在上次搜尋的基礎上向後搜尋:

輸入“n”

*逆向搜尋一個字串:

輸入“?string”

這裡"string"就是將要被搜尋的字串,會自動跳到游標前面第一個"string"處。之後使用的“:n”和“:N”命令方向也會相反了。

*列出尋找的記錄:

輸入"q/"

或輸入"q?"

這會在vim視窗最下面開啟一個新的視窗,列出你的尋找記錄可以選擇。

*向下完全符合當前游標下單詞:

輸入“*”

之後也可以按'n'繼續向下尋找。

*向上完全符合當前游標下單詞:

輸入“#”

之後也可以按'N'繼續向上尋找。

*向下匹配包含當前游標單詞的字串:

輸入“g*”

*向上匹配包含當前游標單詞的字串:

輸入“g#”

**

*跳到匹配的另一半括弧:

輸入“%”

這樣可以尋找配對的括弧,即: )、]、}。

*開啟當前游標單詞下的檔案:

輸入“gf”

這裡,假設當前的游標在相應的檔案名稱上面,例如“main.c”等等。

*切換到上次開啟檔案:

輸入“[Ctrl]^”

這裡,例如我們輸入了gf進入某個檔案,可以輸入[Ctrl]^來回到剛才的檔案,這個命令只能在當前和上一個檔案之間切換,不能後退多步。

*後退到某個曾經瀏覽過的位置:

輸入"[Ctrl]o"

流行的文字編輯器通常都有前進和後退的功能,可以在檔案中曾經瀏覽過的位置之間來回移動。在vim中多次輸入"[Ctrl]o"可以執行後退。

*前進到某個曾經瀏覽過的位置:

輸入"[Ctrl]i"

或輸入"[Tab]"

這樣,如果執行過後退,在vim中多次輸入"[Ctrl]o"可以執行前進。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.