Vim和nano的區別
Linux下有很多文本編輯器,其中系統(不管哪個分支)都會自帶nano和vim這兩個最基本的編輯器。vim相當于vim的升級版。今天將重點分析一下vim與nano的各自功能及區別。
1.nano
直接在命令行中敲入nano newfile即可打開文件或新建文件。
可以看到第一行反白介紹了nano的版本號以及被編輯的文件名稱。接下來就是可編輯區域,這里由于newfile文件是一個新建文件,內容為空,所以編輯區域沒有任何文本文字。再看最后的兩行,這是nano下可以使用的一些快捷鍵,其對應的含義翻譯如下:
ctrl+G: 取得在線幫助
ctrl+O: 保存文件,如果你有權限就可保存修改的文件
ctrl+R: 從其他文件讀入數據,可將某個文件的內容貼在本文件中
ctrl+Y: 顯示前一頁
ctrl+K: 剪切當前行的內容
ctrl+C:‘ 顯示光標所在的位置
ctrl+X: 退出nano,如有有修改過文件,則會提示是否要保存修改的內容
ctrl+J: 調整文本格式
ctrl+W: 查找命令,按下后會跳轉到末行的反白位置,輸入要查找的內容回車即可。
ctrl+V:顯示下一頁
Ctrl+U:撤銷截切命令,這里測試了一下,不是簡單的撤銷某一行的命令,當光標定位到撤銷行的位置時,如果該位置有多行被剪切,會還原剪切的所有內容,但是多次按下Ctrl+U會多次還原,這可能是一個bug。這個快捷鍵與windows下的ctrl+v類似。讀者可以先試著這樣理解。
Ctrl+T: 還不知道是什么意思,貌似是檢查拼寫,但不知道怎么用
nano是linux入門該學習得最佳工具,這里我們只需要知道如何進入編輯,如何保存退出即可。接下來我們來看看vim編輯器。
2.vim編輯器
vim是老式的文字處理器vi的升級版,相對于較為簡單的nano,其功能已經很齊全。
1)vim的模式
vim分為三種模式
一般模式:以vim打開或新建一個文件就可以直接進入一般模式,在此模式中,你可以使用上下左右來進行光標的移動,可以刪除字符或整行,可以復制粘貼文件數據。
編輯模式:顧名思義,就是可以編輯文本的模式,在一般模式下,按下“i,I,o,O,a,A,r,R”這些字母可進入編輯模式,進入編輯模式后在左下方會有INSERT或REPLACE的字樣。
在編輯模式下按下ESC鍵會退出到一般模式下。
命令行模式:在一般模式下,輸入” :, / , ? “這三個字符中的任意一個會將光標移動到當前頁面最下面的一行,在這個模式中可以進行數據查找、替換、保存、離開vim等操作。
使用vim filename可進入vim一般模式:
一般模式下熱鍵說明:
移動光標的方法
| |
h 或 向左箭頭鍵(←)
|
光標向左移動一個字符
|
j 或 向下箭頭鍵(↓)
|
光標向下移動一個字符
|
k 或 向上箭頭鍵(↑)
|
光標向上移動一個字符
|
l 或 向右箭頭鍵(→)
|
光標向右移動一個字符
|
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!
| |
[Ctrl] + [f]
|
屏幕『向下』移動一頁,相當于 [Page Down]按鍵 (常用)
|
[Ctrl] +
|
屏幕『向上』移動一頁,相當于 [Page Up] 按鍵 (常用)
|
[Ctrl] + [d]
|
屏幕『向下』移動半頁
|
[Ctrl] +
|
屏幕『向上』移動半頁
|
+
|
光標移動到非空格符的下一列
|
–
|
光標移動到非空格符的上一列
|
n<space>
|
那個 n 表示『數字』,例如 20 。按下數字后再按空格鍵,光標會向右移動這一行的 n 個字符。例如 20<space> 則光標會向后面移動 20 個字符距離。
|
0 或功能鍵[Home]
|
這是數字『 0 』:移動到這一行的最前面字符處 (常用)
|
$ 或功能鍵[End]
|
移動到這一行的最后面字符處(常用)
|
H
|
光標移動到這個屏幕的最上方那一行的第一個字符
|
M
|
光標移動到這個屏幕的中央那一行的第一個字符
|
L
|
光標移動到這個屏幕的最下方那一行的第一個字符
|
G
|
移動到這個檔案的最后一行(常用)
|
nG
|
n 為數字。移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的第 20 行(可配合 :set nu)
|
gg
|
移動到這個檔案的第一行,相當于 1G ?。?/span> (常用)
|
n<Enter>
|
n 為數字。光標向下移動 n 行(常用)
|
搜尋與取代
| |
/word
|
向光標之下尋找一個名稱為 word 的字符串。例如要在檔案內搜尋 vbird 這個字符串,就輸入 /vbird 即可! (常用)
|
?word
|
向光標之上尋找一個字符串名稱為 word 的字符串。
|
n
|
這個 n 是英文按鍵。代表『重復前一個搜尋的動作』。舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字符串,則按下 n 后,會向下繼續搜尋下一個名稱為 vbird 的字符串。如果是執行 ?vbird 的話,那么按下 n 則會向上繼續搜尋名稱為 vbird 的字符串!
|
N
|
這個 N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。 例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird 。
|
使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復的找到一些你搜尋的關鍵詞!
| |
:n1,n2s/word1/word2/g
|
n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,并將該字符串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 并取代為 VBIRD 則:
|
:1,$s/word1/word2/g
|
從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !(常用)
|
:1,$s/word1/word2/gc
|
從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代!(常用)
|
刪除、復制與貼上
| |
x, X
|
在一行字當中,x 為向后刪除一個字符 (相當于 [del] 按鍵), X 為向前刪除一個字符(相當于 [backspace] 亦即是退格鍵) (常用)
|
nx
|
n 為數字,連續向后刪除 n 個字符。舉例來說,我要連續刪除 10 個字符, 『10x』。
|
dd
|
刪除游標所在的那一整列(常用)
|
ndd
|
n 為數字。刪除光標所在的向下 n 列,例如 20dd 則是刪除 20 列 (常用)
|
d1G
|
刪除光標所在到第一行的所有數據
|
dG
|
刪除光標所在到最后一行的所有數據
|
d$
|
刪除游標所在處,到該行的最后一個字符
|
d0
|
那個是數字的 0 ,刪除游標所在處,到該行的最前面一個字符
|
yy
|
復制游標所在的那一行(常用)
|
nyy
|
n 為數字。復制光標所在的向下 n 列,例如 20yy 則是復制 20 列(常用)
|
y1G
|
復制游標所在列到第一列的所有數據
|
yG
|
復制游標所在列到最后一列的所有數據
|
y0
|
復制光標所在的那個字符到該行行首的所有數據
|
y$
|
復制光標所在的那個字符到該行行尾的所有數據
|
p, P
|
p 為將已復制的數據在光標下一行貼上,P 則為貼在游標上一行! 舉例來說,我目前光標在第 20 行,且已經復制了 10 行數據。則按下 p 后, 那 10 行數據會貼在原本的 20 行之后,亦即由 21 行開始貼。但如果是按下 P 呢? 那么原本的第 20 行會被推到變成 30 行。 (常用)
|
J
|
將光標所在列與下一列的數據結合成同一列
|
c
|
重復刪除多個數據,例如向下刪除 10 行,[ 10cj ]
|
u
|
復原前一個動作。(常用)
|
[Ctrl]+r
|
重做上一個動作。(常用)
|
這個 u 與 [Ctrl]+r 是很常用的指令!一個是復原,另一個則是重做一次~ 利用這兩個功能按鍵,你的編輯,嘿嘿!很快樂的啦!
| |
.
|
不要懷疑!這就是小數點!意思是重復前一個動作的意思。 如果你想要重復刪除、重復貼上等等動作,按下小數點『.』就好了! (常用)
|
一般模式進入編輯模式的按鍵說明:
i, I
|
進入插入模式(Insert mode):
|
a, A
|
進入插入模式(Insert mode):
|
o, O
|
進入插入模式(Insert mode):
|
r, R
|
進入取代模式(Replace mode):
|
上面這些按鍵中,在 vim 畫面的左下角處會出現『–INSERT–』或『–REPLACE–』的字樣。 由名稱就知道該動作了吧?。√貏e注意的是,我們上面也提過了,你想要在檔案里面輸入字符時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!
| |
[Esc]
|
退出編輯模式,回到一般模式中(常用)
|
一般模式切換到命令行模式的按鍵說明:
:w
|
將編輯的數據寫入硬盤檔案中(常用)
|
:w!
|
若文件屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 取決于當前用戶對于文件的權限,一般情況下文件的所有者以及root用戶的權限較大。
|
:q
|
離開 vim (常用)
|
:q!
|
若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。
|
注意一下啊,那個驚嘆號 (!) 在 vim 當中,常常具有『強制』的意思~
| |
:wq
|
儲存后離開,若為 :wq! 則為強制儲存后離開 (常用)
|
ZZ
|
這是大寫的 Z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存后離開!
|
:w [filename]
|
將編輯的數據儲存成另一個檔案(類似另存新檔)
|
:r [filename]
|
在編輯的數據中,讀入另一個檔案的數據。亦即將 『filename』 這個檔案內容加到游標所在行后面
|
:n1,n2 w [filename]
|
將 n1 到 n2 的內容儲存成 filename 這個檔案。
|
:! command
|
暫時離開 vim 到指令列模式下執行 command 的顯示結果!例如
|
vim 環境的變更
| |
:set nu
|
顯示行號,設定之后,會在每一行的前綴顯示該行的行號
|
:set nonu
|
與 set nu 相反,為取消行號!
|
以上都是鳥哥書上的表格,為了方便查詢,這里摘過來了。
vim的塊選擇
在vim中進行的操作一般都是以行或者單個字符作為對象,那么要進行一個區域塊的操作該怎么辦呢?這時可使用vim的塊選擇功能。按下(不需要長按)v在再使用上下左右鍵移動光標,光標經過的地方將會被選中。
還有其他兩種選擇方式:
V(大寫):光標經過的行將會被選中。
ctrl+v:光標經過的長方形塊將會被選中。
選中后再按下y可對選中的區域進行復制,按下d可將選中的區域刪除。
多窗口功能
在命令行模式下輸入“:sp{filename}”即可使用多窗口功能。filename可以不用加,如果想在新的窗口下啟動另一個文件就需要加上filename,否則出現在窗口中的是同一個文件。
重要熱鍵
按住Ctrl + W,然后再加上h, j, k, l,分別表示向左、下、上、右移動窗口
Ctrl + w + h:向左移動窗口
Ctrl + w + j: 向下移動窗口
Ctrl + w + j: 向上移動窗口
Ctrl + w + l: 向右移動窗口
Ctrl + w + w:這個命令會在所有窗口中循環移動
Ctrl + w + t:移動到最左上角的窗口
Ctrl + w + b:移動到最右下角的窗口
Ctrl + w + p:移動到前一個訪問的窗口
原創文章,作者:poetic snow,如若轉載,請注明出處:http://www.www58058.com/83952