Linux環境下強大的文字編輯器---vim
阿新 • • 發佈:2018-11-23
認識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中功能最簡單的文字編輯程式,一次僅能編輯一行而非全螢幕方式的操作。