作為程式設計師之 Vim(一)

2022-02-02 11:01:46 字數 3774 閱讀 9648

vim被稱為是編輯器之神,如果可以學好vim的話,就可以在鍵盤上 「健指如飛」 了,可以完全擺脫滑鼠來進行文字的定位編輯。

當然,vim還可以進行各種配置,裝上各種外掛程式,做成 ide ,會有很炫酷的感覺,而且做為 偉大 的軟體工程師,能在鍵盤上 刷刷刷地,靈活地超控自己的**也是一種非常值得 自豪的事,所以,我覺得,掌握 vim 是做為乙個計算機方向專業的人的基礎課程,很有必要去接觸一下 vim 這個「編輯器之神」。

據說vim的學習曲線變化很大,而且對於我這個之前完全沒有接觸過的人來說,完全不知道應該是怎麼入手,網上去查詢資料,得到的全是一大堆 完全看不懂 的命令和各種看起來好屌的 vim的配置和 用vim作為 ide 的教程,看起來很厲害,可是卻不是我想要的,我想要的是,我該怎麼去入門這個東西,不需要聽那麼多複雜的完整的,像是字典一樣的命令集合,而是乙個能讓我開始去使用 vim 的教程,能告訴我,剛開始該怎麼去玩它。

建立乙個文件:vim test.txt.

好了,算是開啟 vim 了。

1. 普通模式

vim編輯方式的主要用途是在被編輯的檔案中移動游標的位置。

一旦游標移到到所要的位置,就可以進行剪下和貼上正文塊,刪除正文和插入新的正文。當完成所有的編輯工作後,需要儲存編輯器結果,退出編輯程式回到終端

2. 插入模式

按下 i 就可以進入插入模式,按下 esc 回到編輯模式。

插入模式其實就是想我們正常使用文字編輯器那樣,進行文字,**的書寫,但是游標的移動需要滑鼠的輔助。

3. 命令列模式

使用 :進入命令列模式。

4. 可視模式

按下 v 進入可視模式,可以移動游標對文字進行選擇。

開啟:

:e path_to_file/filename

存檔: :w 儲存

:q 退出

:wq 儲存並退出 wq 後面可以加檔名

:q! 強制退出

刪除/複製/貼上:

x 刪除當前游標所在的字元

dd 刪除當前游標所在的行

yy 複製當前行

nyy 複製n行

p 小寫字母 p,將緩衝區的內容貼上到游標的後面

p 大寫字母 p,將緩衝區的內容貼上到游標的前面

u 撤銷

1 上下左右

h(左) j(下) k(上) l(右)

2 行內移動

w                右移游標到下乙個字的開頭;

e 右移游標到乙個字的末尾;

b 左移游標到前乙個字的開頭;

0 數字0,左移游標到本行的開始;

$ 右移游標,到本行的末尾;^ 移動游標,到本行的第乙個非空字元。

3 更大範圍的移動:

*          當游標停留在乙個單詞上,* 鍵會在檔案內搜尋該單詞,並跳轉到下一處;

# 當游標停留在乙個單詞上,# 在檔案內搜尋該單詞,並跳轉到上一處;

(/) 移動到 前/後 句 的開始;

跳轉到 當前/下乙個 段落 的開始。

g_ 到本行最後乙個不是 blank 字元的位置。

fa 到下乙個為 a 的字元處,你也可以fs到下乙個為s的字元。

t, 到逗號前的第乙個字元。逗號可以變成其它字元。

3fa 在當前行查詢第三個出現的 a。

f/t 和 f 和 t 一樣,只不過是相反方向;

gg 將游標定位到檔案第一行起始位置;

g 將游標定位到檔案最後一行起始位置;

ng或ngg 將游標定位到第 n 行的起始位置。

4 找到需要的 某一頁

: n             將游標移到第 n 行

ctrl+f 在檔案中前移一頁(相當於 page down);

ctrl+b 在檔案中後移一頁(相當於 page up);

h 將游標移到螢幕上的起始行(或最上行);

m 將游標移到螢幕中間;

l 將游標移到螢幕最後一行。

3l 表示將游標移到螢幕的倒數第3行

好了,到這裡可以自個兒玩一陣子了,自己多試試上面的那些指令啊,體驗一下脫離滑鼠,讓指尖遊走在鍵盤上操控游標的成就感吧。

vim中執行搜尋匹配最強大的地方是結合 正規表示式 來搜尋 

當然,文字編輯,怎麼可能少了搜尋呢。 

/str1             正向搜尋字串 str1;

?str2 反向搜尋字串 str2 。

vim常規的刪除命令是 d、 x (前者刪除 行 ,後者刪除 字元 ),結合vim的其他特性可以實現基礎的刪除功能。將游標定位於檔案內指定位置後,可以用其他字元來替換游標所指向的字元,或從當前游標位置刪除乙個或多個字元或一行、多行。例如:

d$                從當前游標起刪除字元直到行的結束;

d0 從當前游標起刪除字元直到行的開始;

j 刪除本行的回車符(cr),並和下一行合併。

其他命令:

rc                 用 c 替換游標所指向的當前字元;

nrc 用 c 替換游標所指向的前 n 個字元;

5ra 用 a 替換游標所指向的前 5 個字元;

x 刪除游標所指向的當前字元;

nx 刪除游標所指向的前 n 個字元;

3x 刪除游標所指向的前 3 個字元;

dw 刪除游標右側的字;

ndw 刪除游標右側的 n 個字;

3dw 刪除游標右側的 3 個字;

db 刪除游標左側的字;

ndb 刪除游標左側的 n 個字;

5db 刪除游標左側的 5 個字;

dd 刪除游標所在行,並去除空隙;

ndd 刪除(剪下) n 行內容,並去除空隙;

3dd 刪除(剪下) 3 行內容,並去除空隙;

推薦文章

推薦部落格

最後希望,能有乙個真正好用的 markdown 編輯器。。。

vim與程式設計師

所有的 unix like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。但是目前我們使用比較多的是 vim 編輯器。vim 具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳轉等方便程式設計的功能...

vim與程式設計師

所有的 unix like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。但是目前我們使用比較多的是 vim 編輯器。vim 具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳轉等方便程式設計的功能...

vim與程式設計師

所有的 unix like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在。但是目前我們使用比較多的是 vim 編輯器。vim 具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳轉等方便程式設計的功能...