(四)文字編輯器Vim/Vi,文字編輯器vimvi
目錄
本系列先前的隨筆位於新浪部落格
Vi和Vim都是文字編輯器,不同的是Vim是Vi的升級版本,它不僅相容Vi的所有指令,而且還有一些新的特性在裡面。
Vim/Vi是一個功能強大的全螢幕文字編輯器,是Linux/UNIX上最常用的文字編輯器,它的作用是建立、編輯、顯示文字檔。
Vim/Vi沒有菜單,只有命令
Vim/Vi的三種工作模式:
一、常用命令 1、插入命令
插入命令
| 命令 |
作用 |
| a(append) |
在游標後附加文本 |
| A |
在本行行末附加文本 |
| i(insert) |
在游標前插入文本 |
| I |
在本行行首插入文本 即游標移至行首並進入插入模式 |
| o |
在游標下插入新行 |
| O |
在游標上插入新行 |
2、定位命令
定位命令
| 命令 |
作用 |
| h、方向左鍵 |
游標左移一個字元 |
| j、方向下鍵 |
游標下移一行 |
| k、方向上鍵 |
游標上移一行 |
| l、方向右鍵 |
游標右移一個字元 |
| $ |
游標移至行尾 |
| 0 |
游標移至行首 |
| H(High) |
游標移至螢幕上端 |
| M(Middle) |
游標移至螢幕中央 |
| L(Low) |
游標移至螢幕下端 |
| :set nu |
顯示行號 |
| :set nonu |
取消顯示行號 |
| gg |
游標到第一行 |
| G |
游標到最後一行 |
| nG、:n |
游標到第n行 |
3、刪除命令
刪除命令
| 命令 |
作用 |
| x |
刪除游標所在處字元 |
| nx |
刪除游標所在處後n個字元 |
| dG |
刪除游標所在行起到檔案末尾的內容 |
| D |
刪除從游標所在處到行尾 |
| :n1,n2d |
刪除指定範圍(n1~n2)的行 |
4、複製和剪下命令
複製和剪下命令
| 命令 |
作用 |
| yy、Y |
複製當前游標所在行 |
| nyy、nY |
複製當前游標所在行起n行 |
| dd |
剪下當前游標所在行 |
| ndd |
剪下當前游標所在行起n行 |
| p(paste) |
粘貼在當前游標所在行下面 |
| P |
粘貼在當前游標所在行上面 |
5、替換和撤銷命令
替換和撤銷命令
| 命令 |
作用 |
| r(replace) |
替換游標所在處字元 |
| R |
從游標所在處開始替換字元,按Esc結束 |
| u(undo) |
撤銷上一步操作 |
6、搜尋和替換命令
搜尋和替換命令
| 命令 |
作用 |
| /string |
從前向後搜尋指定字串string 按n跳到下一個指定字串出現的位置 按N跳到上一個指定字串出現的位置 搜尋時忽略大小寫:set ic |
| :%s/old/new/g |
全文替換指定字串(用new替換old) |
| :n1,n2s/old/new/g |
在一定範圍(n1~n2)內替換指定字串 |
7、儲存和退出命令
儲存和退出命令
| 命令 |
作用 |
| :w |
儲存修改 |
| :w new_filename |
另存新檔指定檔案 |
| ZZ、:wq |
儲存修改並退出 |
| :q! |
不儲存修改退出 |
:wq!(只有管理員root或 檔案的所有者可以使用) |
儲存修改並退出 可忽略檔案的唯讀屬性 |
二、擴充應用
1.在當前檔案末尾匯入其他檔案的內容 :r 檔案名稱
2.在Vim/Vi中執行命令 :! 命令
3.在當前檔案末尾匯入命令執行的結果(上面兩個命令結合) :r !命令
範例:常用於把目前時間匯入到檔案末尾用來標識最後一次修改時間 :r !date
4.定義快速鍵 :map 快速鍵 觸發命令
範例:定義快速鍵ctrl+p在行首插入#注釋本行 :map ^P I#<ESC> (^P並不是直接打出來的,而是先按ctrl+v,再按ctrl+p,I為在行首插入,#為注釋符號,在Shell指令碼和Linux系統設定檔中#表示注釋,<ESC>表示從插入模式返回到命令模式)
定義快速鍵ctrl+b刪掉行首字元(多用於取消注釋) :map ^B 0x (0把游標移至行首,x刪除這個字元)
定義快速鍵ctrl+e在當前游標前插入我的郵箱地址 :map ^E iupc_eniac12@163.com<ESC>
Vim/Vi博大精深,初學者使用會覺得十分複雜,操作效率低下,但當你完全熟悉了它之後,你就會覺得它簡直就是個神器,使用它可以極大的提高我們碼代碼的效率。
這是一個你不需要使用滑鼠,不需使用小鍵盤,只需要使用大鍵盤就可以完成很多複雜功能文本編輯的編輯器,不然,Visual Studio也不就會有vim的外掛程式了。學習vim就像學彈鋼琴一樣,一旦學會,受益無窮。
另外這裡還有一篇關於Vim比較不錯的文章,想要深入學習可以看一看
http://mp.weixin.qq.com/s?__biz=MjM5OTMxMzA4NQ==&mid=209275637&idx=2&sn=1b6e279e33a0e161ac94458808497eb2