1. 程式人生 > >Linux環境下強大的文字編輯器---vim

Linux環境下強大的文字編輯器---vim

認識vim

vim是一款著名的功能強大、高度可定製的文字編輯器,在Vi的基礎上改進和增加了很多特性。vim是一款開源免費的軟體。

vim的使用

基本上vim可以分為3種模式:一般模式、編輯模式、命令列模式

  • 一般模式:用vim開啟一個檔案就會預設進入一般模式。該模式下可以使用上下左右鍵移動游標,也可以刪除字元或刪除整行,也可以複製、貼上內容。
  • 編輯模式:在一般模式下,按“i\I\o\O\a\A\r\R”等任何一個字母之後都可以進入編輯模式,通常進入編輯模式之後,在介面左下方會出現INSERT字樣,若想返回一般模式,按下[ESC]即可。
  • 命令列模式:在一般模式下,輸入“ : / ?”3箇中任何一個都可以將游標移動到最下面的一行,即進入命令列模式,只不過不同字元對應的可使用的命令不同,如果想從命令列模式返回一般模式,按下[ESC]即可。

按鍵說明

移動游標的方法:

操作 結果
h 或 [ ← ] 游標向左移動一個字元
j 或 [ ↓ ] 游標向下移動一個字元
k 或 [ ↑ ] 游標向上移動一個字元
l 或 [ → ] 游標向右移動一個字元
N(h/j/k/l)或N([←][↑][→][↓]) N代表數字,即向對應的方向N個字元
[Ctrl]+[f] 螢幕向下移動一頁,相當於[Page Down]按鍵
[Ctrl]+[b] 螢幕向上移動一頁,相當於[Page Up]按鍵
[Ctrl]+[d] 螢幕向下移動半頁
[Ctrl]+[u] 螢幕向上移動半頁
+ 游標移動到非空格符的下一行
- 游標移動到非空格符的上一行
0 或 [home] 移動到這一行的最前面字元處
$ 或 [end] 移動到該行的最後一個字元處
H 游標移動到螢幕最上方那一行的第一個字元
M 游標移動到螢幕中央那一行的第一個字元
L 游標移動到螢幕最下方那一行的第一個字元
G 移動到該檔案的最後一行
nG n為數字,移動到該檔案的第n行
gg 移動到該檔案的第一行,相當於1G
N[Enter] N代表數字,游標向下移動N行
/word 向下尋找一個名稱為word的字串
?word 向上尋找一個名稱為word的字串
n 重複前一個查詢動作
N 反向進行前一個查詢動作
:n1,n2s/word1/word2/g n1 n2為數字,代表行號,指在n1到n2行之間查詢名稱為word1的字串,並將該字串替換為word2
:1,$s/word1/word2/g 從第一行到最後一行查詢名稱為word1的字串,並將該字串替換為word2
1,$s/word1/word2/gc 從第一行到最後一行查詢名稱為word1的字串,並將該字串替換為word2。在替換之前顯示提示字元給使用者確認是否需要替換。
x,X x為後前刪除一個字元,X為向前刪除一個字元
nx n為數字,連續向後刪除n個字元
dd 刪除游標所在的整行
ndd n位數字,刪除游標所在的向下n行
d1G 刪除游標所在到第一行的所有內容
dG 刪除游標所在到最後一行的所有內容
d$ 刪除從游標所在處到該行的最後一個字元
d0 刪除從游標所在處到該行的最前面一個字元
yy 複製游標所在的整行
nyy n為數字,複製游標所在的向下n行
y1G 複製游標所在行到第一行的所有資料
yG 複製游標所在行到最後一行的所有資料
y0 複製游標所在的字元到該行行首的所有內容
y$ 複製游標所在的字元到該行行尾的所有內容
p,P p為將已經複製的內容在游標所在行的下一行貼上,P為將已經複製的內容在游標的所在行的上一行貼上
J 將游標所在行與下一行的內容合成同一行
c 重複刪除多個數據
u 撤銷前一動作
[Ctrl]+r 重複上一個操作
. 重複前一個操作

編輯模式按鈕說明:

操作 結果
i,I 進入插入模式:i為從目前游標所在處插入,I為在目前所在行第一個非空格字元處開始插入
a,A 進入插入模式:a為從目前游標所在處的下一個字元開始插入,A為從游標所在行的最後一個字元處開始插入
o,O 進入插入模式:o為在目前游標所在處的下一行插入新的一行,O為在目前游標所在處的上一行插入新的一行
r,R 進入替換模式:r只會替換游標所在處的那一個字元一次,R會持續替換游標所在處的字元,直到按下[ESC]為止

命令列操作:

操作 結果
:w 儲存,將所編輯的內容寫入到硬碟檔案中
:w! 強制儲存,若檔案屬性為“只讀”時,強制寫入該檔案
:q 退出
:q! 強制退出,若修改過檔案內容,又不想儲存,使用“q!”為強制退出不儲存檔案
:wq 儲存後退出
:wq! 強制儲存並退出
ZZ 若檔案沒有改動,則不儲存退出,若檔案改動,則儲存退出
:w[filename] 將編輯的內容儲存為另一個名為[filename]的檔案
:r[filename] 將名為[filename]的檔案內容新增到游標所在行的後面
:n1,n2 w [filename] 將n1到n2的內容儲存成filename這個檔案
:!command 暫時離開vim到命令列模式下執行command的顯示結果
:set nu 顯示行號
:set nonu 不顯示行號
:n 編輯下一個檔案
:N 編輯上一個檔案
:files 列出當前vim開啟的所有檔案
:sp [filename] 開啟一個新視窗,如果加上[filename],則新視窗顯示[filename]的內容,否則兩個視窗顯示同一個檔案內容(同步顯示)
[Ctrl]+w+j / [Ctrl]+w+[ ↓ ] 將游標移動到下方的視窗
[Ctrl]+w+k / [Ctrl]+w+[ ↑ ] 將游標移動到上方的視窗

當了解上面的內容後,就已經可以開始使用vim了,但是在使用的過程中發現,vim十分的不好用,這是因為vim還沒有經過配置,沒有經過配置的vim是十分不易使用的,所以這裡建議一定要根據自己的喜好來配置vim。

配置vim

整體vim的配置檔案一般放在/etc/vimrc這個檔案中,不過不建議直接修改該檔案,可以修改~/.vimrc這個檔案(預設不存在,需自行手動建立),將所需要的設定值寫入

其他強大的文字編輯器

Notepad++

  • 平臺:windows/mac
  • 授權:免費
  • 說明:Notepad++是一款開源、小巧、免費的純文字編輯器。除了純文字,其他的很多檔案都可以使用記事本來開啟。例如ini配置檔案、inf資訊。還有很多檔案型別實際上就是文字編碼,例如Windows 庫就是改了副檔名的、含有特定文字的文字文件。
  • 優點:所見即所得。

記事本

  • 平臺:windows
  • 授權:windows系統內建
  • 說明:只可以處理純文字檔案,開啟速度快,記事本可以儲存無格式檔案,你可以把記事本編輯的檔案儲存為:“ .html ”, “ .java ”,“ .asp ”等等任意格式。
  • 缺點:不可開啟超大檔案;僅可撤銷一步操作;

Markdown

  • 平臺:windows/mac
  • 授權:免費
  • 說明:Markdown是一種可以使用普通文字編輯器編寫的標記(html標籤)語言,通過簡單的標記語法,它可以使普通文字內容具有一定的格式。

nano

  • 平臺:Linux
  • 授權:免費
  • 說明:非常小巧的文字編輯器,它不像vim那樣難以上手,但是功能也不如vim一樣強大,僅僅可以處理簡單的文字檔案。

ed

  • 平臺:Linux
  • 授權:免費
  • 說明:ed是Linux中功能最簡單的文字編輯程式,一次僅能編輯一行而非全螢幕方式的操作。