初識 Vim
Vim是蘋果電腦上自帶的一個免費且功能強大的文本編輯器。 在這個教程里,我將教給您一些基本的操作。
打開文件
您可以象打開其它任何一個命令行編輯器一樣的打開Vim.
比方,您想編輯的文件名字叫什么 life.md, 就在終端命令行內敲入如下的命令:
vim life.md
Vim工具就會在命令行內加載該文件,并將其打開。Vim是一個終端程序,所以沒有圖形化界面。
Vim模式的基本操作
當您啟動 Vim, 是正常模式。您可以用各種的命令鍵去瀏覽整個文件,并進行相應的編輯。 當您從其它任何模式里退出來,就會回到正常模式。
您可以通過使用 a, A, i, I, o and O 按鍵將 Vim 切換到插入模式。 一旦進入插入模式,Vim 就會一直處于該模式下,在該模式下您按的每一個鍵都會被插入到當前光標所處的位置,直到您按下了 Esc 鍵。
當您處于正常模式下,可以通過按 v, V 或者是 Ctrl-v 命令切換到可視模式。在可視模式下,您可以選擇文本。 正如您所用過一些導航命令一般,在可視模式開始的地方到退出可視化模式的區域就是所選的文本。
在任何時侯,您只要在正常模式輸入 : ,就會進入到命令模式。 在命令模式,您就可以進行一些復雜的編輯功能,文件操作,或者是 Liunx 層面的操作。命令行模式是唯一一種不會在命令行顯示任何信息的模式,但是在命令模式下輸入的命令或其它鍵盤輸入信息都會在這個狀態欄展示出來。
保存文件,關閉 Vim
在正常模式,您可以通過輸入 ZZ 來保存當前的文件并且退出。 您也可以通過命令 :w! 來保存文件。 這個 : 將把您帶進命令模式, w 就是寫文件的命令,那個 ! 就表示系統強制執行該寫操作,而不做任何其它提示。 或者,您也可以輸入 :wq ,另外一個寫法 :wq! q 的意思就是退出編輯器。您也可以使用命令 :q! ,該命令表示無須保存當前的編輯信息,直接退出。
基本光標移動
在正常模式下,您可以游歷整個文件,然后到特定的編輯區進行文章修改。h 鍵可以向光標左邊移動, I 鍵可以向光標右邊移動,J鍵向光標下移一行, 而k鍵可以讓光標上移一行,w 鍵可以讓光標后移到下一個單詞,b 鍵就讓光標向前移一個單詞。
如果您這一次移動的位置不止一個空格,一個單詞,或是一行時,就可以在方向指示鍵前面加上數字,這時光標就會按您方向指示按鍵的前面的數字標示來移動相應的距離。 例如:您如果輸入 10j, 那光標就會向下移動10行。
在命令模式下,這個行數字可以在絕對模式和相對模式下進行切換:
- 絕對數字模式是正常模式:每行都按照連續的順序有一個獨一無二的序號。
- 相對數字模式顯示的是數字標式的行距離當前光標所在行的差值。
要讓編輯器顯示出行序號,您可以使用命令: set number. 反之如果不想顯示行序號, 就可以使用 :set nonumber 命令。
要設置相對序號模式,輸入命令 :set relativenumber. 要返回到絕對序列下,就輸入 :set norelativenumber.
您也可以設置兩種模式并存, 使用命令如下 :set number 和 :set relativenumber. 這時您的 Vim 將會把當前行用絕對序列顯示出來,而其它行都用相當于當前行的相對序號顯示。
在使用相對序號模式下,您就能非常快的決定到底在移動鍵 J 或者是 K前面加上數字幾就可以到達您想要的目標行了。比方上圖的例子,如果想移動到 List 那一行,只需要輸入命令 2j 即可。
如果想稱到一行的開頭,就直接按 0(零,不是歐)命令。 移到行尾就按 $ 符。gg 的命令可以快速移動到文件的開頭,而 G 命令就能快速移動到文件的結尾。
.vimrc 文件
根據上面所講,您會發現相對序號的排列其實更有用。但如果每次啟動后都要先去設置一次才能變成相對序號排列也挺麻煩。 這時候做為 Vim 的配置文件就發揮作用了。在終端命令行進入到用戶的根目錄輸入如下命令:
vim .vimrc
.vimrc 文件是Vim 的配置文件。 您在命令模式下輸入的任何命令都可以在這個文件里面使用。 每次 Vim 啟動時該文件都會被調用。 在這個文件里,使用 i命令進入到插入文本模式,然后把下面這些行加入進去并保存文件。
現在,在您每次打開 Vim程序之時,他都會是相對序列和絕對序列兩種混合的方式了,同時也會把搜索結果以高亮的方式展現出來。 高亮展示搜索結果對我們下面一節所講的內容就非常有用了。 在這個文件里面您還能做很多有用的事情,我們把他留在以后的教程中吧。
搜索和替換
在正常模式下,您可以通過輸入 / 號進入到搜索狀態。 比方您輸入 /This, 就會發現文章里所有的 This 都會被高亮顯示出來。
點按 n, 光標就會快速移動到下一個匹配的搜索詞上。點按 N, 就會返回到上一個匹配的搜索詞上。 在 / 號后面輸入的范式可以是任何規范的表達式。 這里介紹一篇文章:進階搜索和替換,幫助您更好的理解規范表達式。
打算進行文本替換,就只能在命令模式下操作了。 在命令模式下, s 命令表示在當前行替換, %s 表示在整篇文章內替換,,s 就表示從這個行號開始到這個行號結束的片段內進行替換。
替換的格式是這樣寫的 ///gi, 在這里和都是標準的規范表達式。 比方使用上面的例子,我打算找到文章內所有的 This,然后替換成 That. 在 g 后面跟著字母 i,就表示這個搜索是大小寫不敏感的。 如果變成 I 就會是搜索時大小寫是敏感的。使用了 g 命令就可以一次換掉全部的目標詞,如果不加 g,那么該命令一次只能替換一行的。
編輯命令
使用 i 命令就可以在當標當前位置的左邊插入文本。 使用 a 命令就可以在當前光標的右邊插入文本。 I 命令會把廣西插入到行首,A 命令會把廣西插入到行尾。
o 命令會在光標所在當前行之后插入一個新行,把Vim 編輯器轉為插入模式,并把光標置于新行首位置,等待輸入。 O命令做的是一樣的事情,不過他插入的行在光標當前行之上了。
刪除字符,可以使用 d 命令,并在后面加上刪除方向就可以把光標那個方向的字符給刪除掉了, 您也可以使用空格鍵來刪除光標位置下面的字符。如果您給該命令加了數字前綴,那個 Vim就會刪除相應方向上您所指定個數的字符。 dd 命令會刪除當前行。 D 命令就會刪除光標當前位置到結尾的所有內容。
x 命令會刪除掉光標位置上的字符, X命令會刪除光標之前的字符。這兩個命令都可以加數字前綴,以確定執行某個方向上刪除動作的次數。
拷貝,剪切和粘貼
在正常模式下點按 v 進入到視覺模式。從我們進入視覺模式開始,光標所有的動作都是一個選擇操作。 當您有了一個選擇區域后,使用 y鍵 就會拷貝當前選定的文本。 將光標移動到新的位置,使用 p命令,就會把所選的內容粘貼在光標之后的位置,使用P命令,就會粘貼到光標之前。
在做了選擇之后,您可以使用 x 命令刪除掉所選的內容。 也可以使用 d 命令就是剪切當前的選區,然后再使用 p命令把內容粘貼到您所選的地方。
為了選擇大塊文本,您可以使用 ctrl –v 命令來開啟視覺模式。使用 V命令,這時選擇文本是按行選擇,而不是按字符選擇了。
熟能生巧
現在您已經掌握了最基本的 vim使用技巧了, 再就需要不斷練習了。 Vim進階 是一個很好的方法讓您提高 Vim 技能。相當于是一個進階游戲可以讓您練習更高端有意思的 Vim 命令。
不深思則不能造于道。不深思而得者,其得易失。
名人名言- 曾國藩
- By 優聯實達
- 2015-10-27
- 1980
- 公司新聞,網站開發,網站設計,UI