2.1 多文件編輯
2.1.1 使用vim編輯多個文件
編輯多個文件有兩種形式,一種是在進入vim前使用的參數就是多個文件。另一種就是進入vim后再編輯其他的文件。
同時創建兩個新文件並編輯
$ vim 1.txt 2.txt
默認進入1.txt
文件的編輯界面
- 命令行模式下輸入
:n
編輯2.txt文件,可以加!
即:n!
強制切換,之前一個文件的輸入沒有保存,僅僅切換到另一個文件 - 命令行模式下輸入
:N
編輯1.txt文件,可以加!
即:N!
強制切換,之前文件內的輸入沒有保存,僅僅是切換到另一個文件
2.1.2 進入vim后打開新文件
- 命令行模式下輸入
:e 3.txt
打開新文件3.txt - 命令行模式下輸入
:e#
回到前一個文件 - 命令行模式下輸入
:ls
可以列出以前編輯過的文檔 - 命令行模式下輸入
:b 2.txt
(或者編號)可以直接進入文件2.txt編輯 - 命令行模式下輸入
:bd 2.txt
(或者編號)可以刪除以前編輯過的列表中的文件項目 - 命令行模式下輸入
:e! 4.txt
,新打開文件4.txt,放棄正在編輯的文件 - 命令行模式下輸入
:f
顯示正在編輯的文件名 - 命令行模式下輸入
:f new.txt
,改變正在編輯的文件名字為new.txt
2.1.3 恢復文件
如果因為斷電等原因造成文檔沒有保存,可以采用恢復方式,vim -r
進入文檔后,輸入:ewcover 1.txt
來恢復
$ vim -r 1.txt
2.2 可視模式
2.2.1 可視模式命令簡介
- 在普通模式下輸入
v
(小寫),進入字符選擇模式,就可以移動光標,光標走過的地方就會選取。再次按下v會后就會取消選取。 - 在普通模式下輸入
Shift+v
(小寫),進入行選擇模式,按下V之后就會把整行選取,您可以上下移動光標選更多的行,同樣,再按一次Shift+v
就可以取消選取。 - 在普通模式下輸入
Ctrl+v
(小寫),這是區域選擇模式,可以進行矩形區域選擇,再按一次Ctrl+v
取消選取。 - 在可視模式下輸入
d
刪除選取區域內容 - 在可視模式下輸入
y
復制選取區域內容
2.2.2 可視模式命令練習
拷貝練習文件到當前目錄
$ cp /etc/protocols .
打開練習文件
$ vim protocols
- 在普通模式下
9G
跳轉到第9行,輸入Shift+v
(小寫V),進入可視模式進行行選擇,選中5行,按下>>
縮進,將5行整體縮進一個shiftwidth
- 在普通模式下輸入
Ctrl+v
(小寫V),進入可視模式進行矩形區域選擇,選中第一列字符然后x
刪除整列
2.3 視窗操作
2.3.1 視窗操作簡介
vim可以在一個界面里打開多個窗口進行編輯,這些編輯窗口稱為vim的視窗。
打開方法有很多種,例如可以使用在命令行模式下輸入:new
打開一個新的vim視窗,並進入視窗編輯一個新文件(普通模式下輸入Ctrl+w
也可以,但是Ctrl+w
在chrome下會與chrome關閉標簽頁的快捷鍵沖突,所以使用該快捷鍵你可以在IE或其它瀏覽器進行練習),除了:new
命令,下述列舉的多種方法也可以在命令模式或普通模式下打開新的視窗:
- 命令行模式下輸入
:sp 1.txt
打開新的水平分屏視窗來編輯1.txt - 命令行模式下輸入
:vsp 2.txt
打開新的垂直分屏視窗來編輯2.txt - 普通模式下
Ctrl-w s
將當前窗口分割成兩個水平的窗口 - 普通模式下
Ctrl-w v
將當前窗口分割成兩個垂直的窗口 - 普通模式下
Ctrl-w q
即 :q 結束分割出來的視窗。如果在新視窗中有輸入需要使用強制符!即:q! - 普通模式下
Ctrl-w o
打開一個視窗並且隱藏之前的所有視窗 - 普通模式下
Ctrl-w j
移至下面視窗 - 普通模式下
Ctrl-w k
移至上面視窗 - 普通模式下
Ctrl-w h
移至左邊視窗 - 普通模式下
Ctrl-w l
移至右邊視窗 - 普通模式下
Ctrl-w J
將當前視窗移至下面 - 普通模式下
Ctrl-w K
將當前視窗移至上面 - 普通模式下
Ctrl-w H
將當前視窗移至左邊 - 普通模式下
Ctrl-w L
將當前視窗移至右邊 - 普通模式下
Ctrl-w -
減小視窗的高度 - 普通模式下
Ctrl-w +
增加視窗的高度
2.3.2 視窗操作練習
打開練習文件
$ vim 1.txt
- 命令行模式下輸入
:new
打開一個新的vim視窗 - 命令行模式下輸入
:vsp 2.txt
打開新的橫向視窗來編輯2.txt - 命令行模式下輸入
:vsp 3.txt
打開新的橫向視窗來編輯3.txt - 如果使用非chrome瀏覽器可以使用
Ctrl+w
進行視窗間的跳轉 - 分別在不同視窗的命令行模式下輸入
:q!
退出多視窗編輯
2.4 文檔加密
2.4.1 創建加密文檔
$ vim -x file1
輸入您的密碼
確認密碼
這樣在下一次打開時,vim就會要求你輸入密碼
2.5 在vim執行外部命令
在命令行模式中輸入!
可以執行外部的shell命令
:!ls
用於顯示當前目錄的內容:!rm FILENAME
用於刪除名為 FILENAME 的文件:w FILENAME
可將當前 VIM 中正在編輯的文件另存為 FILENAME 文件
2.6 幫助系統
2.6.1 vim中的查看幫助
- 普通模式下按
F1
打開vim
自己預設的幫助文檔 - 命令行模式下輸入
:h shiftwidth
打開名為shiftwidth
的幫助文件 - 命令行模式下輸入
:ver
顯示版本及參數
2.7 功能設定
2.7.1 vim的功能設定
可以在編輯文件的時候進行功能設定,如命令行模式下輸入:set nu
(顯示行數),設定值退出vim后不會保存。要永久保存配置需要修改vim配置文件。
vim的配置文件~/.vimrc
(實驗樓環境中配置文件在/etc/vim/vimrc),可以打開文件進行修改,不過務必小心不要影響vim正常使用
2.7.2 獲取目前的設定
- 命令行模式下輸入
:set
或者:se
顯示所有修改過的配置 - 命令行模式下輸入
:set all
顯示所有的設定值 - 命令行模式下輸入
:set option?
顯示option的設定值 - 命令行模式下輸入
:set nooption
取消當期設定值
2.7.3 set功能的說明
- 命令行模式下輸入
:set autoindent(ai)
設置自動縮進 - 命令行模式下輸入
:set autowrite(aw)
設置自動存檔,默認未打開 - 命令行模式下輸入
:set background=dark
或light
,設置背景風格 - 命令行模式下輸入
:set backup(bk)
設置自動備份,默認未打開 - 命令行模式下輸入
: set cindent(cin)
設置C語言風格縮進