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命令列印其相應檔案的...