(轉)Linux中vim高級功能總結


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=darklight,設置背景風格
  • 命令行模式下輸入:set backup(bk) 設置自動備份,默認未打開
  • 命令行模式下輸入: set cindent(cin) 設置C語言風格縮進


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM