Linux之文字編輯器

2022-04-06 10:54:27 字數 4258 閱讀 4374

功能最強大的編輯器之一 vi

1、vi和vim的區別

它們都是多模式編輯器,不同的是vimvi的公升級版本,它不僅相容vi的所有指令,而且還有一些新的特性在裡面。

vim的這些優勢主要體現在以下幾個方面:

1、多級撤消

我們知道在vi裡,按 u只能撤消上次命令,而在vim裡可以無限制的撤消。

2、易用性

vi只能執行於unix中,而vim不僅可以執行於unix,windows ,mac等多操作平台。

3、語法加亮

vim可以用不同的顏色來加亮你的**。

4、視覺化操作

就是說vim不僅可以在終端執行,也可以執行於x window、 mac os、 windows。

5、對vi的完全相容

某些情況下,你可以把vim當成vi來使用。

vi和vim都是linux中的編輯器,不同的是vim比較高階,可以視為vi的公升級版本。vi使用於文字編輯,但是vim更適用於coding。 

2、vi有3個模式:插入模式、命令模式、低行模式。

插入模式:只有在此模式下才可以字元輸入,按esc將回到命令模式。 (命令模式下按「i」 ,「a」,"o")

命令模式:可以移動游標、刪除字元等。 

低行模式last line mode:可以儲存檔案、退出vi、設定vi、查詢等功能(低行模式也可以看作是命令模式裡的)按":", "/", "?"進入低行模式

3、vi常用命令

開啟,儲存,或關閉檔案(vi命令模式下)

vi filename       //開啟filename檔案 

:w       //儲存檔案 

:w vpser.net //儲存至vpser.net檔案

:q          //退出編輯器,如果檔案已修改請使用下面的命令 

:q!        //強制退出編輯器,且不儲存 

:wq       //退出編輯器,且儲存檔案 

:x         //同wq,儲存並退出

插入文字或行(vi命令模式下使用,執行下面命令後將進入插入模式,按esc鍵可退出插入模式)

a      //在當前游標位置的右邊新增文字 

i       //在當前游標位置的左邊新增文字 

a     //在當前行的末尾位置新增文字 

i      //在當前行的開始處新增文字(非空字元的行首) 

o     //在當前行的上面新建一行 

o     //在當前行的下面新建一行 

r    //替換(覆蓋)當前游標位置及後面的若干文字 

j    //合併游標所在行及下一行為一行(依然在命令模式) 

last line mode下指令簡介(低行模式也可以看作是命令模式裡的,在command模式下,按":", "/", "?"進入低行模式。)

vi命令:

進入vi的命令

vi filename :開啟或新建檔案,並將游標置於第一行首

vi +n filename :開啟檔案,並將游標置於第n行首

vi + filename :開啟檔案,並將游標置於最後一行首

vi +/pattern filename:開啟檔案,並將游標置於第乙個與pattern匹配的串處

vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename

vi filename....filename :開啟多個檔案,依次編輯

移動游標類命令

h :游標左移乙個字元

l :游標右移乙個字元

space:游標右移乙個字元

backspace:游標左移乙個字元

k或ctrl+p:游標上移一行

j或ctrl+n :游標下移一行

enter :游標下移一行

w或w :游標右移乙個字至字首

b或b :游標左移乙個字至字首

e或e :游標右移乙個字j至字尾

) :游標移至句尾

( :游標移至句首

}:游標移至段落開頭

{:游標移至段落結尾

ng:游標移至第n行首

n+:游標下移n行

n-:游標上移n行

n$:游標移至第n行尾

h :游標移至螢幕頂行

m :游標移至螢幕中間行

l :游標移至螢幕最後行

0:(注意是數字零)游標移至當前行首

$:游標移至當前行尾

螢幕翻滾類命令

ctrl+u:向檔案首翻半屏

ctrl+d:向檔案尾翻半屏

ctrl+f:向檔案尾翻一屏

ctrl+b;向檔案首翻一屏

nz:將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部。

插入文字類命令

i :在游標前

i :在當前行首

a:游標後

a:在當前行尾

o:在當前行之下新開一行

o:在當前行之上新開一行

r:替換當前字元

r:替換當前字元及其後的字元,直至按esc鍵

s:從當前游標位置處開始,以輸入的文字替代指定數目的字元

s:刪除指定數目的行,並以所輸入文字代替之

ncw或ncw:修改指定數目的字

ncc:修改指定數目的行

刪除命令

ndw或ndw:刪除游標處開始及其後的n-1個字

do:刪至行首

d$:刪至行尾

ndd:刪除當前行及其後n-1行

x或x:刪除乙個字元,x刪除游標後的,而x刪除游標前的

ctrl+u:刪除輸入方式下所輸入的文字

搜尋及替換命令 :

/pattern:從游標開始處向檔案尾搜尋pattern

?pattern:從游標開始處向檔案首搜尋pattern

n:在同一方向重複上一次搜尋命令

n:在反方向上重複上一次搜尋命令

:s/p1/p2/g:將當前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:將檔案中所有p1均用p2替換

選項設定

all:列出所有選項設定情況

term:設定終端型別

ignorance:在搜尋中忽略大小寫

list:顯示製表位(ctrl+i)和行尾標誌($)

number:顯示行號

report:顯示由面向行的命令修改過的數目

terse:顯示簡短的警告資訊

warn:在轉到別的檔案時若沒儲存當前檔案則顯示no write資訊

nomagic:允許在搜尋模式中,使用前面不帶「\」的特殊字元

nowrapscan:禁止vi在搜尋到達檔案兩端時,又從另一端開始

mesg:允許vi顯示其他使用者用write寫到自己終端上的資訊

最後行方式命令

:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下

:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下

:n1,n2 d :將n1行到n2行之間的內容刪除

:w :儲存當前檔案

:e filename:開啟檔案filename進行編輯

:x:儲存當前檔案並退出

:q:退出vi

:q!:不儲存檔案並退出vi

:!command:執行shell命令command

:n1,n2 w!command:將檔案中n1行至n2行的內容作為command的輸入並執行之,若不指

定n1,n2,則表示將整個檔案內容作為command的輸入

:r!command:將命令command的輸出結果放到當前行 。

linux 文字編輯器

vi編輯器 vi vim 命令模式 輸入模式 末行模式 命令模式 輸入模式 插入i 從游標的位置前面開始插入,並且游標隨著插入的內容向後移動 i從游標所在行的第乙個非空字元前面開始插入 新增a 從游標所在位置後面開始新增,游標隨著插入內容向後移動 a從游標所在行的最後的地方開始新增 開始o 從游標所...

linux 文字編輯器

檔案編輯 nano vi vim emacs gedit nano 記憶體臨時建立 vim 三種模式 命令模式 複製 裁剪 刪除 跳轉 貼上 插入模式 編輯檔案 末行模式 退出 儲存 重新命名 讀入檔案 搜尋檔案 跳轉 vim 編輯的命令 命令模式 游標定位 hjkl 游標上下左右 shift 跳轉...

Linux文字編輯器

一 命令列模式 任何時候,不管使用者處於何種模式,只要單擊 esc 鍵,即可使vi 進入命令列模式。使用者在shell環境下輸入並啟動vi 命令,進入編輯器時,也是處於該模式下。在該模式下,使用者可以輸入各種合法的 vi 命令用於管理自己的文件 二 文字輸入模式 在命令列模式下輸入 插入命令 i 附...