常用linux文本编辑器nano,linux常用文本編輯器nano/vi/vim

linux下有很多文本編輯器,其中系統(不管哪個分支)都會自帶nano和vi這兩個最基本的編輯器。vim相當於vi的升級版。這里我們依次來講解這幾個編輯器的用法。

1.nano

直接在命令行中敲入nano filename即可打開文件或新建文件。

4e53e0257810eccf905c1160cfc335e2.png

可以看到第一行反白介紹了nano的版本號以及被編輯的文件名稱。接下來就是可編輯區域,這里由於nano.txt文件是一個新建文件,內容為空,所以編輯區域沒有任何文本文字。再看最后的兩行,這是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入門該學習得最佳工具,這里我們只需要知道如何進入編輯,如何保存退出即可。接下來看看linux中被大神們推上神壇的vi編輯器。

2.vi編輯器

vi是老式的文字處理器,功能已經很齊全。不管好不好用,既然大家這么推崇,肯定有他的好處,我們先學習了肯定不會有壞處。

1)vi的模式

vi分為三種模式

一般模式:以vi打開或新建一個文件就可以直接進入一般模式,在此模式中,你可以使用上下左右來進行光標的移動,可以刪除字符或整行,可以復制粘貼文件數據。

編輯模式:顧名思義,就是可以編輯文本的模式,在一般模式下,按下“i,I,o,O,a,A,r,R"這些字母可進入編輯模式,進入編輯模式后在左下方會有INSERT或REPLACE的字樣。

在編輯模式下按下ESC鍵會退出到一半模式下。

命令行模式:在一般模式下,輸入” :,   / ,   ? "這三個字符中的任意一個會將光標移動到最下面的一行,在這個模式中可以進行數據查找、替換、保存、離開vi等操作。

使用vi filename可進入vi一般模式:

1dc12b4b9c534e05c63ad517ab997d2f.png

一般模式下熱鍵說明:

移動光標的方法

h 或 向左箭頭鍵(←)

光標向左移動一個字符

j 或 向下箭頭鍵(↓)

光標向下移動一個字符

k 或 向上箭頭鍵(↑)

光標向上移動一個字符

l 或 向右箭頭鍵(→)

光標向右移動一個字符

如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!

[Ctrl] + [f]

屏幕『向下』移動一頁,相當於 [Page Down]按鍵 (常用)

[Ctrl] +

屏幕『向上』移動一頁,相當於 [Page Up] 按鍵 (常用)

[Ctrl] + [d]

屏幕『向下』移動半頁

[Ctrl] +

屏幕『向上』移動半頁

+

光標移動到非空格符的下一列

-

光標移動到非空格符的上一列

n

那個 n 表示『數字』,例如 20 。按下數字后再按空格鍵,光標會向右移動這一行的 n 個字符。例如 20 則光標會向后面移動 20 個字符距離。

0 或功能鍵[Home]

這是數字『 0 』:移動到這一行的最前面字符處 (常用)

$ 或功能鍵[End]

移動到這一行的最后面字符處(常用)

H

光標移動到這個屏幕的最上方那一行的第一個字符

M

光標移動到這個屏幕的中央那一行的第一個字符

L

光標移動到這個屏幕的最下方那一行的第一個字符

G

移動到這個檔案的最后一行(常用)

nG

n 為數字。移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的第 20 行(可配合 :set nu)

gg

移動到這個檔案的第一行,相當於 1G 啊! (常用)

n

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 則:

『:100,200s/vbird/VBIRD/g』。(常用)

: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):

i 為『從目前光標所在處插入』, I 為『在目前所在行的第一個非空格符處開始插入』。 (常用)

a, A

進入插入模式(Insert mode):

a 為『從目前光標所在的下一個字符處開始插入』, A 為『從光標所在行的最后一個字符處開始插入』。(常用)

o, O

進入插入模式(Insert mode):

這是英文字母 o 的大小寫。o 為『在目前光標所在的下一行處插入新的一行』; O 為在目前光標所在處的上一行插入新的一行!(常用)

r, R

進入取代模式(Replace mode):

r 只會取代光標所在的那一個字符一次;R會一直取代光標所在的文字,直到按下 ESC 為止;(常用)

上面這些按鍵中,在 vi 畫面的左下角處會出現『--INSERT--』或『--REPLACE--』的字樣。 由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!

[Esc]

退出編輯模式,回到一般模式中(常用)

一般模式切換到命令行模式的按鍵說明:

:w

將編輯的數據寫入硬盤檔案中(常用)

:w!

若文件屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案權限有關啊!

:q

離開 vi (常用)

:q!

若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。

注意一下啊,那個驚嘆號 (!) 在 vi 當中,常常具有『強制』的意思~

:wq

儲存后離開,若為 :wq! 則為強制儲存后離開 (常用)

ZZ

這是大寫的 Z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存后離開!

:w [filename]

將編輯的數據儲存成另一個檔案(類似另存新檔)

:r [filename]

在編輯的數據中,讀入另一個檔案的數據。亦即將 『filename』 這個檔案內容加到游標所在行后面

:n1,n2 w [filename]

將 n1 到 n2 的內容儲存成 filename 這個檔案。

:! command

暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如

『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案信息!

vim 環境的變更

:set nu

顯示行號,設定之后,會在每一行的前綴顯示該行的行號

:set nonu

與 set nu 相反,為取消行號!以上都是鳥哥書上的表格,為了方便查詢,這里摘過來了。

關於vi的一些主要功能都在這張表上能看到,接下來我們再來看看vim相對於vi為我們又提供了哪些有意思的功能。

在linux大部分的distrubutions中都已經用vim代替了vi,例如centos(ubuntu貌似還未使用vim代替vi),使用alias可以看到系統中是否使用的是vim:

57eb1e5317c7d2a70843d168a7b366d4.png

bf37cda4c048442ccd63846642f9b3b7.png

上圖第一張是ubuntu的,第二張是centos的,可以看出在centos下使用vim代替vi的,在命令行下鍵入vi相當於鍵入vim。

vim的塊選擇

在vi中進行的操作一般都是以行或者單個字符作為對象,那么要進行一個區域塊的操作該怎么辦呢?這時可使用vim的塊選擇功能。按下(不需要長按)v在再使用上下左右鍵移動光標,光標經過的地方將會被選中。

還有其他兩種選擇方式:

V(大寫):光標經過的行將會被選中。

ctrl+v:光標經過的長方形塊將會被選中。

7c28b7f7d94467039956a56bf70a5ce6.png

選中后再按下y可對選中的區域進行復制,按下d可將選中的區域刪除。

多窗口功能

在命令行模式下輸入“:sp{filename}"即可使用多窗口功能。filename可以不用加,如果想在新的窗口下啟動另一個文件就需要加上filename,否則出現在窗口中的是同一個文件。

a3ba49633499e3ed997249f7f1bbaf5a.png

重要熱鍵

按住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:移動到前一個訪問的窗口

今天的內容就么多了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值