這是別人整理的筆記,我刪掉了我知道的,只留下我不會的,原文
鏈結.vi 常用用法
說明,所有命令都不包括「」,如果是「"」(半形雙引號),則是乙個命令字元,請注意區分。
一.移動
(1). 按字移動游標的命令
在vi中,"字"有兩種含義:一種是廣義的字,它可以是兩個空格之間的任何內容。
如:、[、]、~、|、/、<、>、/等)均被當成是
乙個字。上面那一行中就包括」命令啟動一次擊鍵記錄,結果儲存到指定的暫存器中。暫存器名可以在a到z中任取乙個字母表示。
b. 輸入你的命令;
c. 鍵入「q」(後面不用跟任何字元)命令結束記錄;
d. 用「@」命令執行這個巨集;
2. 使用,修改暫存器
用來記錄操作的暫存器與你用來拷貝文字的暫存器是相同的。
使用方法:
g 移到行尾(注:這裡其實使用new命令開視窗更方便些)
o建立乙個空行
"np 拷貝n暫存器中的文字,你的命令將被拷到整個檔案的結尾
象修改普通文字一樣修改這些命令
0 回到行首
"ny$ 把正確的命令拷貝回n暫存器
dd 刪除臨時行
3. 擴充套件乙個暫存器
記錄到乙個大寫暫存器表示擴充套件命令到對應的小寫暫存器。
替換「:substitute」命令(可以簡寫為「:s」)使你可以在連續的行中執行字串替換。
格式:「:[range]s/old/new/[flags]」
說明如下:
1.用「n,m」表示從第n行到第m行;如果不指定行範圍,「:s」命令只作用在當前行上。
2.「.」表示當前行,「$」表示最後一行;「%」表示命令作用於全部行,即「1,$」。
3.可以用「+ -」號,比如「n+x,m-y」,nm可以是「.」和「$」。
4.使用可視模式來設定範圍;注意:命令是作用於行範圍的,而不是選中的範圍的。
5.預設情況下,命令只對一行中的第乙個匹配點起作用,要讓對行中所有匹配點起作用,需要加乙個「g(global,全域性)」標記;
其他標記:「p」(print,列印),用於在命令執行的時候列印出所有被修改的行;
「c」(confirm,確認),在每次替換前向你詢問是否需要替換。
4.插入檔案
「:read 」命令讀入檔案,插入當前行的下面;
「:nread 」命令用「n」指點插入行的行號,其中數字「0」表示檔案開頭,「$」表示檔案尾;
5.儲存部分行
要把一部分行寫入到檔案,可以使用「:write」命令;
在沒有指定範圍的時候它寫入全文,而指定範圍的時候它只寫入範圍指定的行;
如果這個檔案已經存在,而你一定要寫入,就加乙個嘆號;
小心:「!」必須緊跟著「:write」,中間不能留有空格,否則這將變成乙個過濾器命令;
「:write >>」用於往檔案中追加內容;
6.使用外部程式
命令「」用乙個外部程式對乙個文字塊進行過濾。
換句話說,它執行乙個由指定的外部命令,並用乙個文字塊作為輸入,
然後用該程式的輸出代替選中的文字塊。
7.從崩潰中恢復
方法1. 知道檔名,可以用「-r」選項啟動vim:「vim -r ***」;
方法2. 不知道檔名,進入原來的資料夾執行:「vim -r ""」;
方法3. 用「vim -r」列出所有它能找到的交換檔案,然後用方法1;
8.摺疊
摺疊命令:
zf f-old creation (建立摺疊)
zo o-pen a fold (開啟摺疊)
zc c-lose a fold (關閉摺疊)
zr 開啟巢狀摺疊(「zr」用於全部開啟)
zm 關閉巢狀摺疊(「zm」用於全部關閉)
9.在**間移動
使用標記
1:建立標記檔案:「ctags 」,或者「ctags -r」;
2:把游標移到要檢視的單詞的標記處,然後用命令;
3:用返回;
技巧:「ctrl-w ]」用新開視窗檢視;
10.在**間移動
「」 向上跳轉到乙個函式的結尾,「][」向下移動到乙個函式的結尾;
「[[」 向上跳轉到函式的開始,「]]」向下跳到結尾處;
注意:這四個命令要求「」符號在第一列;
「[的開始處,「[}」跳轉到當前**塊{}的結尾處;
「]」「[(」「[)」「](」「])」「[/」「]/」也有類似功能,只是匹配的是「()」「/*」
「[i」 命令查詢游標下的識別符號,不僅在當前檔案內查詢,還會在所有的包含檔案中查詢;
「[」 跳到第一項,可以是;
「n[」 跳到第n項;
「]i」 只列出游標下面的專案
「[d」 只查詢 "#define" 定義的巨集,
「]d」 只列出游標下面的專案
「gd」 只在當前檔案中查詢,並跳轉到被首次使用的地方;
「gd」 只在當前函式內查詢,注意,函式的開始符號「{」要求在第一列;
vim的常用用法
vi vim 是所有 unix linux 作業系統預設配備的編輯器。因其強大的功能和高效的操作,vi vim 也成為眾多 unix linux 使用者 管理員必須掌握並熟練使用的編輯工具之一。我在學習和使用linux的過程中,基本都是使用vim來寫程式,用得越多也用得越熟悉,也越發現vim的強大之...
CRUL常用用法
1 儲存http結果 curl o page.html 2設定 curl x 123.45.67.89 1080 o page.html 3 自動填寫使用者名稱密碼 curl u name passwd ftp ip port path file 4上傳檔案 curl t localfile u n...
grep awk sed常用用法
sed指令碼是乙個sed的命令清單,啟動sed時以 f選項引導指令碼檔名。sed對於指令碼中輸入的命令非常挑剔,在命令的末尾不能有任何空白或文字,如果在一行中有多個命令,要用分號分隔。以 開頭的行為注釋行,且不能跨行。7.小技巧 在sed的命令列中引用shell變數時要使用雙引號,而不是通常所用的單...