接下來主要介紹了linux下的vim編輯器常用的一些方法,操作舉例并說明作用。
一、vim常用快捷鍵和實用操作
vim打開文件方式:**
用法1:vim /tmp/myshell.sh
表示打開tmp目錄下的myshell.sh文件,不存在則創(chuàng)建一個,默認光標會定位到上次所在位置和高亮上次高亮的內容。
用法2:vim +10 /tmp/myshell.sh
表示打開tmp目錄下的myshell.sh文件并且將光標移動到第10行。
用法3:vim +/hello /tmp/myshell.sh
表示打開tmp目錄下的myshell.sh文件并且高亮顯示文件里所有的hello內容。
用法4:vim /tmp/myshell.sh /home/my.sh /root/a.txt
表示同時打開tmp目錄下的myshell.sh、home目錄下的my.sh和root目錄下的a.txt文件。
vim常用的三種模式:命令模式、編輯模式、末行模式(尾行模式)
1.命令模式[命令模式下無法編輯文件,只允許刪除,復制,粘貼,撤銷,使用快捷鍵等操作,文件打開時默認進入此模式]
光標移動操作:
特別技巧:數(shù)字+上下左右按鍵可以向對應方向移動光標到指定位置,如:5+向上鍵 表示是向上移動光標5行。
用法1:shift+6或^
表示移動光標到所在行的行首位置。
用法2:shift+4或&
表示移動光標到所在行的行尾位置。
用法3:gg
表示將光標移動到文件內容的第一行位置,這里注意是小寫字母。
用法4:G
表示將光標移動到文件內容的最后一行位置,這里注意是大寫字母。
用法5:5G
表示將光標移動到文件內容的第5行位置,這里注意是大寫字母。
用法6:ctrl+b或pg up
表示向上翻屏。
用法7:ctrl+f或pg dn
表示向下翻屏。
復制、刪除、粘貼、撤銷操作:
用法1:yy
表示復制光標所在行的整行內容。
用法2:5yy
表示復制包含光標所在行向下的5行內容。
用法3:dd
表示刪除光標所在行的整行內容并且將下面的內容上移到光標位置(dd其實剪切操作只是效果等同于刪除)。
用法4:5dd
表示刪除包含光標所在行向下的5行內容并且將下面的內容上移到光標位置(dd其實剪切操作只是效果等同于刪除)。
用法5:D
表示刪除光標所在行的整行內容并且當前行會變成空白行。
用法6:p
表示粘貼復制的內容到光標所在位置。
用法7:u
表示撤銷上次的操作,ctrl+r表示取消之前的撤銷操作。
用法8:ctrl+v
表示自定義可視化選擇內容塊 ,需要使用上下左右鍵來選中內容,選中內容塊后可以使用yy和dd進行相關的操作。
2.編輯模式[編輯模式可以對文件的內容進行編輯操作,在命令模式下按任意鍵進入編輯模式,但大多數(shù)人按i進入編輯模式,按esc退出編輯模式并進入命令模式]
用法1:i
表示進入編輯模式并且在光標所在字符的前面開始編輯內容,小寫的i,比較常用。
用法2:a
表示進入編輯模式并且在光標所在字符的后面開始編輯內容,小寫的a,比較常用。
用法3:o
表示進入編輯模式并且在光標所在行的下面插入新的一行開始編輯內容,小寫的o,不常用。
用法4:I
表示進入編輯模式并且在光標所在行的行首開始編輯內容,大寫的i,不常用。
用法5:A
表示進入編輯模式并且在光標所在行的行尾開始編輯內容,大寫的A,不常用。
用法6:O
表示進入編輯模式并且在光標所在行的上面插入新的一行開始編輯內容,大寫O,不常用。
用法7:S
表示進入編輯模式并且刪除光標所在行內容后開始編輯內容,大寫S,不常用。
3.末行模式[末行模式可以執(zhí)行特定的命令操作如:搜索、替換、保存、退出、高亮等操作,在命令模式下按:或/進入末行模式,在:或/后面可以輸入特定的命令對文件進行操作。按esc退出末行模式并進入命令模式]
進入末行模式方式:按下:冒號進入末行模式。
退出末行模式三種方式:
1、按一次esc表示延遲退出末行模式并進入命令模式。
2、連按兩次esc表示快速退出末行模式并進入命令模式。
3、刪除:后的命令后在按一次刪除鍵表示退出末行模式并進入命令模式。
末行模式操作命令":"
保存與退出文件:
用法1:w
表示保存編輯的文件內容。
用法2:w /tmp/a.txt
表示將當前文件內容另存為到tmp目錄下并命名為a.txt文件。
用法3:q
表示退出文件,需要先使用w命令保存后才能退出文件或者文件未被修改時直接退出文件。
用法4:wq
表示保存文件修改的內容并退出文件。
用法5:q!
表示強制退出文件并且不保存對文件內容的修改操作。
用法6:w!
表示強制保存對文件內容的修改。
用法7:wq!
表示強制保存文件內容并退出文件。
用法8:x
表示文件未修改時則直接退出,文件被修改后則保存并退出,小寫x。
替換文件內容:
用法1:s/yy/uu
表示替換光標所在行的第一個yy關鍵子字為uu。
用法2:s/yy/uu/g
表示替換光標所在行里的所有yy關鍵字為uu。
用法3:%s/yy/uu
表示替換整個文件的所有行的第一個yy關鍵字為uu。
用法4:%s/yy/uu/g
表示替換整個文件里的所有yy關鍵字為uu。
其他命令:
用法1:!ls -l
表示暫時隱藏vim打開的內容并執(zhí)行外部的ls命令。
用法2:nohl
表示取消文件內容里的高亮關鍵詞設置。
用法3:set nu
表示顯示文件內容的行號。set nonu表示取消行號。
用法4:files
表示使用vim打開多個文件時查看文件名稱,其中%a表示當前活動的文件,#表示上一次打開的文件。
用法5:open a.txt
表示切換到a.txt文件,通常使用vim打開多個文件時切換需要編輯的文件時使用。
用法6:bn
表示切換到下一個打開的文件,bp表示切換到上一個打開的文件。vim打開多個文件時使用。
末行模式操作命令"/"
用法:/hello
表示搜索vim打開的文件里面的所有hello關鍵字并且高亮搜索到的結果,按小寫n向下查找搜索結果,按大寫N表示向上查找搜索到的結果。
vim配置文件:個人配置與全局配置沖突時以個人配置為準。
1.用戶個人配置文件[用戶家目錄下/.vimrc,編輯或自行新建]
用法1:在/home/huzibbs/.vimrc文件中寫入:set nu
表示設置huzibbs用戶每次打開vim編輯器時顯示行號。
用法2:在/home/huzibbs/.vimrc文件中寫入:syntax off
表示設置huzibbs用戶每次打開vim編輯器時不啟用代碼著色功能。
2.全局配置文件[/etc/vimrc]
用法1:編輯/etc/vimrc文件寫入:set nu
表示設置所有用戶每次打開vim編輯器時顯示行號。
用法2:在/etc/vimrc文件中寫入:syntax off
表示設置當前用戶每次打開vim編輯器時不啟用代碼著色功能。
二、實用小功能
1.vim代碼著色[給代碼標記顏色功能,需要在末行模式:下執(zhí)行]
用法1:syntax on
表示開啟vim的代碼著色功能,默認開啟。
用法2:syntax off
表示關閉vim的代碼著色功能。
2.vim計算器[在編輯文件時計算公式時使用,需要在編輯模式下使用]
用法:按ctrl+r鍵,輸入=號,在等號后面輸入需要計算的公式回車得出的結果輸出到光標所在處。
3.命令別名機制[用戶家目錄/.bashrc]
用法:編輯/home/huzibbs/.bashrc 寫入內容:alias cls='clear'
表示設置huzibbs用戶環(huán)境下的clear清屏命令別名為cls,重新登錄后生效。