*定位到指定行n:輸入"nG".或輸入"ngg".或輸入":n"這里,n就是指定的行的行號.注意,有時候G=gg.*跳到屏幕頂部:輸入“H”.這里,停在第一個非空字符上。加一個數字N,是指距窗口頂部的行數(如'NH'正數第N行)*跳到屏幕底部:輸入“L”.這里,停在第一個非空字符上。加一個數字,是指距窗口底部的行數(如'NL'倒數第N行)*跳到屏幕中間:輸入“M”.這里,停在第一個非空字符上。*跳到文件首:輸入"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"可以執行前進。
新聞熱點
疑難解答