Vim 常用的命令 游標定位; hjkl 上下左右移動 0 $ 跳到行首或行尾 gg shift+G 跳到整個文件的開頭行或者結尾行 1G ,2G,3G........NG ,跳到第1.2.3 N 行開頭 /String(n N 可以迴圈的) 快速定位到某一行, /^d 快速定位到以 d 開頭的行, ...
Vim 常用的命令
游標定位;
hjkl 上下左右移動
0 $ 跳到行首或行尾
gg shift+G 跳到整個文件的開頭行或者結尾行
1G ,2G,3G........NG ,跳到第1.2.3 N 行開頭
/String(n N 可以迴圈的 上一個下一個切換) 快速定位到某個有String 的 行,
/^d 快速定位到以 d 開頭的行,
/txt$ 快速定位的到以txt 結尾的行.
文本編輯(少量)
y 複製. yy 3yy ygg yG (以行為單位)
d 刪除 dd 3dd dgg dG(以行為單位)
p 粘貼
x 刪除游標所在的字元
D 從游標處刪除到行尾
u undo 撤銷
^r redo 反撤銷,重做 Ctrl + r
r 修改一個字元
進入其他模式
a 進入插入模式, 在游標的後面插入
i 進入插入模式, 在游標前面插入
o 另起一行插入
A shift + A 在當前行尾插入
: 進入末行模式(擴展命令模式)
v 進入可視模式
^v 進入可視塊模式 Ctrl +v
V 進入可視行模式
R 進入替換模式 在游標後進行批量替換,類似於為Windows上的 文本Insert
插入模式下的VIm 關鍵字 自動補全 Ctrl + p / n
可視塊模式:
塊插入:(在指定塊前面加入字元) 選擇塊, Shift i 然後輸入字元 ,ESC(退出兩次)
塊替換: 選擇塊 r 輸入替換的字元
塊刪除 : 選擇塊, 輸入 d 或者 x
塊複製 : 選擇塊 , y
擴展命令模式:
: 10 進入第10行
: w 保存
:q 退出
:wq 保存並退出
:w! 強制保存
:q! 不保存強制退出
:wq! 強制保存退出
: x 強制保存退出 或者ZZ
:X 給當前文件上鎖, 加密,
遠程登陸的過程中 Ctrl +s 會鎖定 當前終端 , 輸入任何命令都不可見,但是命令仍然可以執行 Ctrl +q 解除鎖定,展示命令
查找替換s search
: 範圍 s/old/new/選項
:1,5 s/ string1 / string2 / 從第一行到第五行,把string1 替換為string2 . / 可以換做其他分隔符, 只要保持一樣
: 5,$ s/root/yang $表示最後一行
:1,$ s/root/yang/g == :% s/root/yang/g % 表示全文,g表示全局
:% s/#/dev/sda#/var/sss#g #這裡表示分隔的標識符
:,8 s/root/yang 從當前行到第八行
:2,8 s/^#// 2-8行的開頭# 替換為空
:1,9 s/.*/#&/ 1-9行 前面計入#字元(.*整行,& 引用查找的內容)
讀入文件/ 寫文件(另存為)
:w 存儲到當前文件
:w /tmp/aaa.txt 另存為tmp/aaa.txt
:1,3 w /tmp/aaa.txt 1至3行另存為 /tmp/aaa.txt 文件
:r /etc/hosts 讀入文件到當前行後
:5 r /etc/hsotst 讀入文件到第五行後
設置環境
臨時設置:設置了之後只對當前vim 文件有效,退出則無效
:set nu 設置行號
:set ic 不區分大小寫
:set ai 自動縮進
:set list 顯示控制字元
:set nonu 取消設置行號
:set noic .....
永久設置環境 : 修改vim的環境配置文件
/etc/vimrc 影響所有系統用戶
~/.vimrc 影響某一個用戶
Vim 打開多個文件
vim - O 文件1, 文件2 ,。。。(O 表示左右併排顯示, o 表示上下併排顯示)
:qall 退出全部,:q 單個退出,其他命令全部操作也加 all
^ww (Ctrl + ww) 切換視窗
比較兩個文件的不同
vimdiff 文件1 , 文件2