日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux vi编辑器常见命令的使用

發布時間:2023/12/18 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux vi编辑器常见命令的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://c.biancheng.net/cpp/html/2735.html

工作模式

進一步了解 vi 之前先來了解一下 vi 的工作模式,vi 有三種工作模式:

1) 普通模式

由Shell進入vi編輯器時,首先進入普通模式。在普通模式下,從鍵盤輸入任何字符都被當作命令來解釋。普通模式下沒有任何提示符,輸入命令后立即執行,不需要回車,而且輸入的字符不會在屏幕上顯示出來。

普通模式下可以執行命令、保存文件、移動光標、粘貼復制等。

2) 編輯模式

編輯模式主要用于文本的編輯。該模式下用戶輸入的任何字符都被作為文件的內容保存起來,并在屏幕上顯示出來。

3) 命令模式

命令模式下,用戶可以對文件進行一些高級處理。盡管普通模式下的命令可以完成很多功能,但要執行一些如字符串查找、替換、顯示行號等操作還是必須要進入命令模式。

注意:有些教程中稱有兩種工作模式,是把命令模式合并到普通模式。

工作模式切換:

  • 在普通模式下輸入 i(插入)、c(修改)、o(另起一行) 命令時進入編輯模式;按 esc 鍵退回到普通模式。
  • 在普通模式下輸入冒號(:)可以進入命令模式。輸入完命令按回車,命令執行完后會自動退回普通模式。


提示:如果不確定當前處于哪種模式,按兩次 Esc 鍵將回到普通模式。

退出 vi 編輯器

一般在命令模式下退出 vi 編輯器。
?

退出命令說明
q如果文件未被修改,會直接退回到Shell;否則提示保存文件。
q!強行退出,不保存修改內容。
wqw 命令保存文件,q 命令退出 vi,合起來就是保存并退出。
ZZ保存并退出,相當于 wq,但是更加方便。


退出之前,你也可以在 w 命令后面指定一個文件名,將文件另存為新文件,例如:

w filename2

將當前文件另存為 filename2。

注意:vi 編輯文件時,用戶的操作都是基于緩沖區中的副本進行的。如果退出時沒有保存到磁盤,則緩沖區中的內容就會被丟失。

移動光標

為了不影響文件內容,必須在普通模式(按兩次 Esc 鍵)下移動光標。使用下表中的命令每次可以移動一個字符:

命令描述
k向上移動光標(移動一行)
j向下移動光標(移動一行)
h向左移動光標(移動一個字符)
l向右移動光標(移動一個字符)


兩點提醒:

  • vi 是區分大小寫的,輸入命令時注意不要鎖定大寫。
  • 可以在命令前邊添加一個數字作為前綴,例如,2j 將光標向下移動兩行。


當然,還有很多其他命令來移動光標,不過記住,一定要在普通模式(按兩次 Esc 鍵)下。
?

用來移動光標的命令命令說明
0 或?|將光標定位在一行的開頭。
$將光標定位在一行的末尾。
w定位到下一個單詞。
b定位到上一個單詞。
(定位到一句話的開頭,句子是以?! . ? 三種符號來界定的。
)定位到一句話的結尾。
{移動到段落開頭。&&&&&&
}移動到段落結束。&&&&&&&&&
[[回到段落的開頭處。&&&&&&&&&&
]]向前移到下一個段落的開頭處。&&&&&&&&&&
n|移動到第 n 列(當前行)。
1G移動到文件第一行。
G移動到文件最后一行。
nG移動到文件第 n 行。
:n移動到文件第 n 行。
H移動到屏幕頂部。
nH移動到距離屏幕頂部第 n 行的位置。
M移動到屏幕中間。
L移動到屏幕底部。
nL移動到距離屏幕底部第 n 行的位置。
:xx 是一個數字,表示移動到行號為 x 的行。

控制命令

有一些控制命令可以與 Ctrl 鍵組合使用,如下:

命令描述
CTRL+d向前滾動半屏
CTRL+f向前滾動全屏
CTRL+u向后滾動半屏
CTRL+b向后滾動整屏
CTRL+e向上滾動一行
CTRL+y向下滾動一行
CTRL+I刷新屏幕

編輯文件

切換到編輯模式下才能編輯文件。有很多命令可以從普通模式切換到編輯模式,如下所示:

命令描述
i在當前光標位置之前插入文本
I在當前行的開頭插入文本
a在當前光標位置之后插入文本
A在當前行的末尾插入文本
o在當前位置下面創建一行
O在當前位置上面創建一行

刪除字符

下面的命令,可以刪除文件中的字符或行:

命令說明
x刪除當前光標下的字符
X刪除光標前面的字符
dw刪除從當前光標到單詞結尾的字符
d^刪除從當前光標到行首的字符
d$刪除從當前光標到行尾的字符
D刪除從當前光標到行尾的字符
dd刪除當前光標所在的行


可以在命令前面添加一個數字前綴,表示重復操作的次數,例如,2x ?表示連續兩次刪除光標下的字符,2dd 表示連續兩次刪除光標所在的行。

建議各位讀者多加練習上面的命令,再進一步深入學習。

修改文本

如果你希望對字符、單詞或行進行修改,可以使用下面的命令:

命令描述
cc刪除當前行,并進入編輯模式。
cw刪除當前字(單詞),并進入編輯模式。
r替換當前光標下的字符。
R從當前光標開始替換字符,按 Esc 鍵退出。
s用輸入的字符替換當前字符,并進入編輯模式。
S用輸入的文本替換當前行,并進入編輯模式。

粘貼復制

vi 中的復制粘貼命令:

命令描述
yy復制當前行
nyy復制n行
yw復制一個字(單詞)
nyw復制n行
p將復制的文本粘貼到光標后面
P將復制的文本粘貼到光標前面

高級命令

下面的一些命令雖然看起來有些古怪,但是會讓你的工作更有效率,如果你是 vi 重度用戶,就了解一下吧。

命令說明
J將當前行和下一行連接為一行
<<將當前行左移一個單位(一個縮進寬度)
>>將當前行右移一個單位(一個縮進寬度)
~改變當前字符的大小寫
^GCtrl+G組合鍵可以顯示當前文件名和狀態
U撤銷對當前行所做的修改
u撤銷上次操作,再次按 'u' 恢復該次操作
:f以百分號(%)的形式顯示當前光標在文件中的位置、文件名和文件的總行數
:f filename將文件重命名為 filename
:w filename保存修改到 filename
:e filename打開另一個文件名為 filename 的文件
:cd dirname改變當前工作目錄到 dirname
:e #在兩個打開的文件之間進行切換
:n如果用 vi 打開了多個文件,可以使用 :n 切換到下一個文件
:p如果用 vi 打開了多個文件,可以使用 :n 切換到上一個文件
:N如果用 vi 打開了多個文件,可以使用 :n 切換到上一個文件
:r file讀取文件并在當前行的后邊插入
:nr file讀取文件并在第 n 行后邊插入

文本查找

如果希望進行全文件搜索,可以在普通模式(按兩次 Esc 鍵)下輸入 / 命令,這時狀態欄(最后一行)出現"/"并提示輸入要查找的字符串,回車即可。

/ 命令是向下查找,如果希望向上查找,可以使用 ? 命令。

這時,輸入 n 命令可以按相同的方向繼續查找,輸入 N 命令可以按相反的方向繼續查找。

搜索的字符串中可以包含一些有特殊含義的字符,如果希望搜索這些字符本身,需要在前面加反斜杠(\)。
?

部分特殊字符列表字符說明
^匹配一行的開頭
.匹配一個字符
*匹配0個或多個字符
$匹配一行的結尾
[ ]匹配一組字符


如果希望搜索某行中的單個字符,可以使用 f 或 F 命令,f 向上搜索,F 向下搜索,并且會把光標定位到匹配的字符。

也可以使用 t 或 T 命令:t 命令向上搜索,并把光標定位到匹配字符的前面;T 命令向下搜索,并把光標定位到匹配字符的后面。

set 命令

set 命令可以對 vi 編輯器進行一些設置。使用 set 命令需要進入命令模式。
?

:set 命令選項命令說明
:set ic搜索時忽略大小寫。
:set ai設置自動縮進(自動對齊)。
:set noai取消自動縮進(自動對齊)。
:set nu顯示行號。
:set sw設置縮進的空格數,例如,將縮進空格數設置為4::set sw=4。
:set ws循環搜索:如果直到文件末尾也沒有查找到指定字符,那么會回到開頭繼續查找。
:set wm設置自動換行,例如,設置距離邊際2個字符時換行::set wm=2 。
:set ro將文件類型改為只讀。
:set term輸出終端類型。
:set bf忽略輸入的控制字符,如 BEL(響鈴)、BS(退格)、CR(回車)等。

運行命令

切換到命令模式,再輸入 ! 命令即可運行 Linux 命令。

例如,保存文件前,如果希望查看該文件是否存在,那么輸入

:! ls

即可列出當前目錄下的文件。

按任意鍵回到 vi 編輯器。

文本替換

切換到命令模式,再輸入 s/ 命令即可對文本進行替換。語法為:

:s/search/replace/g

search 為檢索的文本,replace 為要替換的文本,g 表示全局替換。

幾點提示

vi 編輯器的使用講解完畢,但是請記住下面幾點:

  • 輸入冒號(:)進入命令模式,按兩次 Esc 鍵進入普通模式。
  • 命令大小寫的含義是不一樣的。
  • 必須在編輯模式下才能輸入內容。

總結

以上是生活随笔為你收集整理的Linux vi编辑器常见命令的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。