vi(vim)可以說是linux中用得最多的工具了,不管你配置服務也好,寫腳本也好,總會用到它。但是,vim作爲一個“純字符”模式下的工具,它的操作和WINDOWS中的文本編輯工具相比多少有些複雜。這裏,我根據自己個人的使用經驗,整理了一套vim的操作以及記憶的方法,希望對大家的學習有所幫助。
VI的三種模式
1,命令模式 2,輸入模式 3,末行模式
命令 執行的操作 記憶方法
:q 退出 quit
:w 存盤 write
:e 打開新文件
:r 讀取文件到VI read
:! 強行
:set nu 顯示行號 number
:set nonu 隱藏行號 no number
h j k l
左 下 上 右
Ctrl + f 翻到下一頁(向前翻頁) front
Ctrl + b 翻到上一頁(向後翻頁) back
Ctrl + u 向前翻半頁
Ctrl + d 向後翻半頁
^ 移到行頭 往上就到行頭了(象形)
$ 移到行尾 寫完一行就要給一行的錢
w 下一個單詞 word
b 前一個單詞 behind(在。。。後面)
e 下一單詞尾 end
#G 跳到某一行 大哥(G)說到哪就到哪
i 光標前插入 insert
a 光標後加入 add
A 在行末加入 在一個詞後是小a,一個行後就是大A
o 另起一行加入 一個小雞蛋(小o)掉下來了摔開了花
O 上一行加入 吐一個大泡泡(大O)飛上去破了
---------- c(吃掉)代表行內刪除--------
cw 刪除一個單詞(一部分不包括空格) 吃掉一個 word
c$ 刪除一行到行尾 剛寫的一行被刪了,錢也拿不到了
c^ 刪除一行到行頭 往上吃,一直吃到頭
x 刪除一個字符 看你不爽就打上“x”
---------- d 代表刪除--------------
dd 刪除一行 del dir
dw 刪除單詞到尾部(包括空格) del word
de 刪除單詞到尾部(不包括尾部空格) del end
d$ 刪除當前到行尾的所有字符 del $(代表尾部)
d^ 刪除當前到行首的所有字符 del ^(代表行首)
J 合併當前行 一個大鉤子(J)把下面的一行拉到自己行尾
u 撤銷上次操作 undo
U 撤銷當前行所有操作 事情鬧大了,得有個更大的UNDO才能恢復
Ctrl + r 恢復undo 前 recover
--------- y 代表複製到緩存中-----------
yy 複製當前行整行的內容到vi緩衝區
yw 複製當前光標到單詞尾字符的內容到vi緩衝區
y$ 複製當前光標到行尾的內容到vi緩衝區
y^ 複製當前光標到行首的內容到vi緩衝區
p 讀取vi緩衝區中的內容,並粘貼到光標當前的位置(不覆蓋文件已有的內容)
/word 從上而下查 /是從上而下寫的吧
?word 從下而上查找 字符在哪兒呢(?)回頭找找吧
n 定位下一個匹配的 相當於向下查找下一個 next
N 定位上一個匹配的 相當於向上查找上一個
:s/1/2 搜索當前行第一個1並用2代替 search
:s/1/2/g 搜索當前行所有的1並用2代替 global
:#,#s/1/2/g 在#,#間搜索所有1並用2替換
:%s/1/2/g 在整個文檔中將1替換爲2 100%(全部)
:s/1/2/c 每次替換都給出提示確認 cue提示
vim 1.txt 2.txt 3.txt 同時打開多個文檔
:args 顯示多文件信息(會在末行提示當前打開了哪些檔) are globals
:next 切換到下一個文件
:prev 切換到上一個文件
:first 定位首文件
:last 定位尾文件
Ctrl + ^ 快速切換到編輯器中切換前的文件