正在熟練使用中的vim操作

2021-06-28 02:42:44 字數 3360 閱讀 7818

一.移動游標「f

「命令移動到游標右邊的指定字元上,例如,」fx

「,會把移動到游標右邊的第乙個』x』字元上。」f

「命令則反方向查詢,也就是移動到游標左邊的指定字元上。「t

「命令和」f

「命令的區別在於,它移動到游標右邊的指定字元之前。例如,」tx

「會移動到游標右邊第乙個』x』字元的前面。」t

「命令是」t

「命令的反向版本,它移動到游標右邊的指定字元之後。

這四個命令只在當前行中移動游標,游標不會跨越回車換行符。

可以在命令前面使用數字,表示倍數。例如,」

3fx「表示移動到游標右邊的第3個』x』字元上。 「

;「命令重複前一次輸入的f, t, f, t命令,而」

,「命令會反方向重複前一次輸入的f, t, f, t命令。這兩個命令前也可以使用數字來表示倍數。

二. 相對於游標滾屏

在閱讀**時,有時我們需要根據游標所在的位置滾屏,把游標所在行移動視窗的頂端、中間或底部,這時就可以用到」zt

「、」zz

「和」zb

「。這種滾屏方式相對於翻頁來講,它的好處在於,你能夠始終以當前游標位置做為參照,不會出現翻幾次頁後,發現自己迷失了方向。

三.查詢指定內容

除了/還可以用?,表示反向查詢;另外你還可以使用」q/

「和」q?

「命令,在vim視窗最下面開啟乙個新的視窗,這個視窗會列出你的查詢歷史記錄,你可以使用任何vim編輯命令對此視窗的內容進行編輯,然後再按回車,就會對游標所在的行的內容進行查詢。

當使用很長的正規表示式時以後就可以很輕鬆的復用

四.跳**除了單引號和反引號,如果想要跳轉到更老的編輯位置則使用:

ctrl+o和ctrl+l

五.使用標記:

vim中的標記都有乙個名字,這個名字用單一的字元表示。大寫和小寫字母(a-za-z)都可以做為標記的名字,這些標誌的位置可以由使用者來設定;而數字標記0-9,以及一些標點符號標記,使用者不能進行設定,由vim來自動設定。

小寫字母標記侷限於緩衝區,也就是說,每個緩衝區都可以定義自己的小寫字母標記,各緩衝區間的小寫字母標記彼此不干擾。如果我在檔案a中設定乙個標記t,然後在檔案b中也可以設定乙個標記t。那麼在檔案a中,可以用」『t「命令跳到檔案a的標記t位置 ;在檔案b中,可以用」『t「命令跳到檔案b的標記t位置。如果檔案在緩衝區列表中被刪除,小寫字母標記就丟失了。大寫字母標記是全域性的,它在檔案間都有效。如果在檔案a中定義乙個標記t,那麼當使用命令」『t「時,就會跳到檔案a的標記t位置,不管你當前處於哪個檔案中。設定乙個標記很簡單,使用命令」m「就可以了。例如,命令」mt「在把當前游標位置設定為標記t;命令」mt「把當前游標位置設定為標記t。(:help m),要跳轉到指定的標記,使用命令」『「或」「。例如,命令」『t「會跳轉到標記t;命令」『t「會跳轉到標記t。( :help 『),

":showmarks"表示顯示所有的標記,":delmark t"刪除對應的標記t。

如何儲存該摺疊標記呢?在關閉當前專案之前,執行":mkview"命令,再次開啟時執行":loadview"命令

indent摺疊命令:

indent方式,vim會自動利用縮排進行摺疊,我們可以使用現成的摺疊成果.

我們可以在摺疊處輸入以下命令:

zc 摺疊

zc 對所在範圍內所有巢狀的摺疊點進行摺疊

zo 展開摺疊

zo 對所在範圍內所有巢狀的摺疊點展開

[z 到當前開啟的摺疊的開始處。

]z 到當前開啟的摺疊的末尾處。

zj 向下移動。到達下乙個摺疊的開始處。關閉的摺疊也被計入。

zk 向上移動到前一摺疊的結束處。關閉的摺疊也被計入。

當使用marker方式時,需要用標計來標識**的摺疊,系統預設是}},最好不要改動之:)

我們可以使用下面的命令來建立和刪除摺疊:

zf      建立摺疊,比如在marker方式下:

zf56g,建立從當前行起到56行的**摺疊;

10zf或10zf+或zf10↓,建立從當前行起到後10行的**摺疊。

10zf-或zf10↑,建立從當前行起到之前10行的**摺疊。

在括號處zf%,建立從當前行起到對應的匹配的括號上去((),{},,<>等)。

zd      刪除 (delete) 在游標下的摺疊。僅當 'foldmethod' 設為 "manual" 或 "marker" 時有效。

zd     迴圈刪除 (delete) 游標下的摺疊,即巢狀刪除摺疊。

僅當 'foldmethod' 設為 "manual" 或 "marker" 時有效。

ze     除去 (eliminate) 視窗裡「所有」的摺疊。

僅當 'foldmethod' 設為 "manual" 或 "marker" 時有效

如下為vim下的摺疊形式:

六.會話概念

當進入vim之後執行":mksession [filename]"時即可,檔名可以省略,預設為session.vim,當再次開啟時執行":source filename"即可恢復該會話。

使用":wvimrc [filename]"時可以建立乙個viminfo檔案,其實預設在主目錄中會存在viminfo,但是那是整個vim的資訊檔案,並不是特定專案的,上述命令用於建立特定專案的檔案,讀入使用":rviminfo [filename]命令"即可

將前面摺疊後的介面執行":mksession"儲存到session.vim中,重新開啟該檔案,摺疊消失,如下:

然後執行":source session.vim"即可恢復介面,如下:

vim使用操作

命令作用i 在當前游標所在字元的前面,轉為輸入模式 i在當前游標所在行的行首轉換為輸入模式 a在當前游標所在字元的後面,轉為輸入模式 a在游標所在行的行尾,轉換為輸入模式 o在當前游標所在行的下方,新建一行,並轉為輸入模式 o在當前游標所在行的上方,新建一行,並轉為輸入模式 s刪除游標所在字元 r替...

熟練使用有稜有角的記憶體

記憶體其實也沒什麼神秘的,就是乙個整合ic,這型別的ic一般包含四種型別的引腳 電源與地引腳,控制引腳 讀使能 寫使能 資料位引腳以及多位位址引腳。記憶體大小計算方式為2的 資料位引腳數 位址位引腳數和 除以2的8次方,單位我位元組,byte。記憶體的邏輯模型可以用乙個摩天大樓來模擬,大樓的每一層為...

熟練使用有稜有角的記憶體

問題 有十個位址訊號引腳的記憶體ic可以指定的位址範圍是多少?0 1023共1024個位址 高階程式語言中的資料型別表示的是什麼?佔據記憶體區域的大小和儲存在該記憶體區域的資料型別 在32位記憶體位址的環境中,指標變數的長度是多少?32位,即4位元組 與物理記憶體有著相同構造的陣列的資料型別長度是多...