每天乙個Linux命令之vi編輯器的四種模式

2021-10-08 15:30:10 字數 1845 閱讀 5466

vi的四種模式

正常模式

正常模式下 hjkl可以控制游標往上下左右移動,其中h/l控制游標向左向右移動,j/k控制游標向上向下移動

複製命令

yy命令 複製一整行

y&命令 複製自游標所在處至行尾

複製多行 如想在第三行開始 複製5行 則將游標移至第三行處 輸入5yy 即複製了5行資料

貼上命令

p命令 貼上 複製的內容

剪下命令

dd剪下一整行

d&剪下自游標所在處至行尾

撤銷命令

u(類似於window的ctrl+z) 可多次按u 撤銷多次操作

ctrl+r(類似於window的ctrl+y) 重做

x可對單個字元進行刪除(前提是游標移動至待刪除的字元)

r可對單個字元進行替換(前提是游標移動至待刪除的字元)。按下r鍵 隨後輸入想要替換後的字元

gg游標移動至第一行

g游標移動至檔案末尾

如果我在第3行 我想快速移動到第100行,可以輸入100 隨後按g(也就是shift+g)

^可以將游標快速移動至行首

&可以將游標快速移動至行尾

插入模式

進入插入模式後即可編輯文字。若需退出插入模式,只需按esc鍵即可

命令模式

在命令模式下 執行其他命令,

:!ifconfig即可在vim中執行這個命令

將vim編輯的檔案儲存到乙個其他目錄下,可以這樣:

:w /root/a.txt

這句話就是將該檔案儲存至root目錄下 且名稱為a.txt

查詢字元

/字元找到之後 游標會在第乙個字元處 可以使用n將游標向下移動或者?字元 找到後游標會在最後乙個字元處,可以使用n 將游標向上移動

檔案的替換

:s/舊字元/新字元,如:s/x/x(這裡是將x替換為x)注意這種方式 只是替換游標所在處的該行的文字

全域性替換(整個檔案範圍替換)

:%s/舊字元/新字元如%s/x/x 但是只會替換找到的第乙個字元,如果想都替換 需要這樣:%s/舊字元/新字元/g

注意 在替換時 不加g均表示一次替換,如果想要多次替換 需要加上/g

如果想在指定的行之間進行替換 可以這樣,如我想在第3-5行替換:

:3,5s/x/x (這裡加不加/g 視具體而定)

顯示行號:set nu

不顯示行號::set nonu

如果想要每次開啟檔案 均顯示行號,可以這樣配置:

vim /etc/vimrc

在檔案末尾加上set nu 隨即儲存即可

可視模式

三種進入可視模式的方式

每天乙個Linux命令

將我遇到的linux指令總結一下,不斷增加 1 sz和rz 一般來說,linux 伺服器大多是通過 ssh客戶端來進行遠端的登陸和管理的,使用 ssh登陸 linux ssh有關的兩個命令可以提供很方便的操作 sz 將選定的檔案傳送 send 到本地機器 rz 執行該命令會彈出乙個檔案選擇視窗,從本...

每天乙個linux命令

linux cmp命令 linux cmp命令用於比較兩個檔案是否有差異。當相互比較的兩個檔案完全一樣時,則該指令不會顯示任何資訊。若發現有所差異,缺省會標示出第乙個不同之處的字元和列數編號。若不指定任何檔名稱或是所給予的檔名為 則cmp指令會從標準輸入裝置讀取資料。語法cmp clsv i 字元數...

每天乙個 Linux 命令

head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然爾就是看檔案的結尾。1 命令格式 head 引數 檔案 2 命令功能 head 用來顯示檔案的開頭至標準輸出中,預設head命令列印其相應檔案的...