Vim編輯器快速上手
Vim編輯器是什么?Vim編輯器是Linux系統中自帶的一款文本編輯工具,我們可以使用Vim編輯器去編輯文本。Vim編輯器和我們在Windows系統中使用的文本編輯器完全不同,因為Linux是基于命令行的,它不像Windows系統的文本編輯器那樣,可以通過鼠標,快速進入某個目錄,然后編輯,Vim編輯器有它的特點,它基于命令行和快捷鍵的方式,當你熟練后,使用Vim編輯器去編輯文本,效率完全不必Windows下的文本編輯器差!
Vim編輯器主要模式
Vim 編輯器主要有3中模式:普通模式、插入模式、命令模式
普通模式(Normal mode)
在普通模式中,用的編輯器命令,比如移動光標,刪除文本等等。這也是 Vim 啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。
Vim 強大的編輯功能來自于其普通模式命令。在普通模式下,可以輸入快捷命令對文本內容進行操作。比如dd刪除,gg快速到文本頭部等等。
在普通模式中,有很多方法可以進入插入模式。比較普通的方式是按 a(append/追加)鍵或者 i(insert/插入)鍵。
插入模式(Insert mode)
在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯過程中一直保持這個模式。
在插入模式中,可以按 ESC 鍵回到普通模式。
命令行模式(Command line mode)
在命令行模式中可以輸入會被解釋成并執行的文本。例如執行命令(:鍵),搜索(/和?鍵)或者過濾命令(!鍵)。在命令執行之后,Vim 返回到命令行模式之前的模式,通常是普通模式。
Vim快速入門
vim 啟動進入普通模式,處于插入模式或命令行模式時只需要按 Esc即可進入普通模式。普通模式中按 i(插入)或 a(附加)鍵都可以進入插入模式,普通模式中按 : 進入命令行模式。命令行模式中輸入 wq 回車后保存并退出 vim。
使用 vim 命令進入 vim 界面
vim 后面加上你要打開的已存在的文件名或者不存在(則作為新建文件)的文件名。在環境里輸入下面的命令:
vim practice_1.txt
直接使用 vim 也可以打開 vim 編輯器,但是不會打開任何文件。
進入命令行模式后輸入 :e filepath 同樣可以打開相應文件。
游標移動
在進入 vim 后,按下 i 鍵進入插入模式。在該模式下您可以輸入文本信息,下面請輸入如下三行信息:
12345678 abcdefghijk csdn.com
按Esc進入普通模式,在該模式下使用方向鍵或者 h,j,k,l 鍵可以移動游標。
當然我更喜歡使用方向鍵去控制光標的移動,不過在命令模式中,使用w和b用于單詞之間的快速移動還是非常方便的。
進入插入模式
使用Vim用的最多的應該就是使用它的插入模式,我們可以在插入模式中寫輸入我們想要輸入到文本中的字符,但插入模式不僅僅只能使用i進行插入,我們還能有其他的插入方式去提高效率。
我們除了使用i在當前光標所處的位置插入以外,還能使用其他方式進入插入模式,在光標所屬的行首行尾,或者下一行插入。
命令行模式下保存文檔
從普通模式輸入 : 進入命令行模式,輸入 w 回車,保存文檔。
命令行模式下退出 vim
從普通模式輸入 : 進入命令行模式,輸入 wq 回車,保存并退出編輯。
以下為其它幾種退出方式:
普通模式下刪除 vim 文本信息
在Windows下我們是如何刪除文本了,使用backSpace退格快速刪除?
但這樣的參數方式,在文本特別的的情況下,刪除速度不可恭維,Vim編輯器有更好的刪除策略。
進入普通模式,使用下列命令可以進行文本快速刪除:
除此之外,你還可以在命令之前加上數字,表示一次刪除多行,如:
2dd 表示一次刪除 2 行。
是不是很方便。
Vim文檔編輯
重復執行上次命令
在普通模式下 .(小數點)表示重復上一次的命令操作。
拷貝測試文件到本地目錄:
cd /home/shiyanlou cp /etc/protocols . vim protocols
普通模式下輸入 x,刪除第一個字符,輸入 .(小數點)會再次刪除一個字符,除此之外也可以重復 dd 的刪除操作。
執行指定次數相同的命令
進入普通模式輸入 N
輸入 10x,刪除 10 個連續字符
輸入 3dd,將會刪除 3 行文本
在普通模式下,你還可以使用 dw 或者 daw(delete a word)刪除一個單詞,所以你可以很容易的聯想到 dnw(n 替換為相應數字) 表示刪除 n 個單詞。
游標的快速跳轉
普通模式下,下列命令可以讓光標快速調轉到指定位置,我們分別討論快速實現行間跳轉和行內跳轉。
行間跳轉
還是來練習一下吧,使用 vim 打開練習文檔:
依次進行如下操作練習:
快速跳轉到第 9 行,然后將其該行刪除
回到第一行,向下刪除 8 行
跳轉到文檔末,然后刪除該行
小技巧:你在完成依次跳轉后,可以使用 Ctrl+o 快速回到上一次(跳轉前)光標所在位置,這個技巧很實用,比如當你在寫代碼時,忽然想起有個 bug,需要修改,這時候你跳過去改好了,只需要按下 Ctrl+o 就可以回到你之前的位置。
復制粘貼和剪切
復制及粘貼文本
普通模式中使用 y 復制
普通模式中,yy 復制游標所在的整行(3yy 表示復制 3 行)
普通模式中,y^ 復制至行首,或 y0。不含光標所在處字符。
普通模式中,y$ 復制至行尾。含光標所在處字符。
普通模式中,yw 復制一個單詞。
普通模式中,y2w 復制兩個單詞。
普通模式中,yG 復制至文本末。
普通模式中,y1G 復制至文本開頭。
普通模式中使用 p 粘貼
普通模式中,p(小寫)代表粘貼至光標后(下)
普通模式中,P(大寫)代表粘貼至光標前(上)
剪切及粘貼
其實前面講得 dd 刪除命令就是剪切,你每次 dd 刪除文檔內容后,便可以使用 p 來粘貼,也這一點可以讓我們實現一個很爽快的功能——交換上下行。
ddp,就這么簡單,即實現了快速交換光標所在行與它下面的行。
思考:
我們前面學過的那些命令、操作,除了提到過的還有哪些支持前面加上數字實現重復多次操作,如 3dd。
Vim 查找替換
快速查找
普通模式下輸入 /然后鍵入需要查找的字符串,按回車后就會進行查找。? 與/ 功能相同,只不過 ? 是向上而 / 是向下查找。
進入查找之后,輸入 n 和 N 可以繼續查找。n 是查找下一個內容,N 查找上一個內容。
。
高級查找
普通模式下輸入 \* 尋找游標所在處的單詞
普通模式下輸入 \# 同上,但 \# 是向前(上)找,\* 則是向后(下)找
普通模式下輸入 g\* 同 \*,但部分符合該單詞即可
普通模式下輸入 g\# 同 \#,但部分符合該單詞即可
以上查找 n,N 的繼續查找命令依然可以用。
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。