導航:首頁 > 程序命令 > linux中vi命令

linux中vi命令

發布時間:2022-01-12 07:36:25

linux中vi常用的命令

[語法]:vi [-wn] [-R] 文件…
[說明]: vi 是一個基於行編輯器 ex 上的全屏幕編輯器,可以在vi 中使用 ex,ed的全部命令,vi選項中 -wn 指將編輯窗口大小置為n行,-R 為將編輯的文件置為只讀模式, vi 工作模式分為命令模式和輸入模式,一般情況下在命令模式下,可敲入vi命令,進入輸入模式下時可以編輯要編輯的文本,命令 a A i I o O c C s S R 可進入輸入模式,在輸入模式下按 ESC 鍵可推出輸入模式,回到命令模式,在命令模式中敲入: 命令,則可進入ex方式,在屏幕底部出現提示符 : ,此時可使用任意ex命令,屏幕底行也用來作/ ? ! 命令的提示行,大多數命令可以在其前面加數字,表示命令執行的重復次數,下面簡單介紹一下vi 的命令集,^ 表示(CTRL)鍵
^B 退回前一頁,前面加數字表示重復次數,每次換頁時
保留上一頁的兩行
^D 在命令模式下,表示下滾屏幕的一半,在輸入模式下,表示回退至
左邊的自動縮進處
^E 顯示屏幕底線之下的一行
^F 前進一頁,前面加數字表示重復次數,每次換頁時
保留上一頁的兩行
^G 顯示當前文件名,當前行號和文件總行數,並用百分號當前行在
整個文件中的位置
^H(退格) 在命令模式下,游標左移一格;在輸入模式下,刪去前面的字元
^I(TAB) 在輸入模式下,產生一串空格
^J(LF) 游標下移一行
^L 刷新屏幕,即將屏幕重新顯示
^M(回車) 在命令模式下,游標移動至下行開頭
在輸入模式下,開辟一新行
^N 游標下移一行
^P 游標上移一行
^Q 在輸入模式下,將其後的非列印字元作為正文插入
^R 刷新屏幕
^U 屏幕上滾一半,前面加數字時表示上滾的行數,此數字對
以後的^D ^U 命令有效
^V 在輸入模式下,將其後的非列印字元作為正文插入
^W 在輸入模式下,使游標回退一個字
^Y 顯示屏幕底線之上的一行
^Z 暫停編輯,退回上層Shell
^[(ESC) 退出輸入模式,回到命令模式
! 暫時退出編輯,執行Shell命令
(雙引號) 用於標志有名緩沖區,編號緩沖區1-9用於保存被刪去的正文,字
母名緩沖區a-z供用戶存放自定義的正文
$ 將游標移動到當前行尾,前加數字則表示前移行數,如2$表示移動
到下一行行尾
% 將游標移動到配對的小括弧()或大括弧{}上去
( 退回句子開頭
) 前移到句子開頭
- 退到上一行第一個非空格字元
. 重復上一次改變緩沖區內容的命令
/ 模式向前搜索模式,將游標移動到模式出現處,模式是一個正規
表達式,(參看 grep)
: 在屏幕底部提示:,其後可使用ex命令
? 功能同 / ,但方向是向前查找
[[ 游標回退至前一節分界處
\ 轉意符
]] 游標前移至節分界處
^(不是CTRL) 游標移至當前行第一個非空字元上
『 連續兩個」表示將游標移至其移動前的位置,』後跟字母表示游標字
母標記的行首(參看 m 命令)
A 在行尾插入正文,進入輸入模式
B 游標回退一個字
C 替換游標後的內容
D 刪除游標後的內容
E 游標前移到字尾
F 字元 在當前行向左查找指定字元
G 游標移動到其前面數字指定的行,若未指定則移動到最後一行
H 游標移動到屏幕頂行,若前面有數字,則移動到屏幕上該數字
指定的行
I 在行開頭插入正文
J 連接兩行,若前面有數字則連接數字指定的行
L 游標移動到屏幕底行,若前面有數字,則移動到屏幕底線往上數該
數字指定的行
M 游標移動到屏幕中線
N 使用模式查找/或?時,重復找下一個匹配的模式,但方向與上次相
反,其功能同 n ,但方向相反
O 在當前行上開辟一新行
P 將上次被刪除的正文插入游標前面,可在其前面加緩沖區編號,編
號1-9用於保存被刪去的正文,字母名緩沖區a-z供用戶存放自定
義的正文
Q 從vi 推出進入ex命令狀態
R 替換字元串
S 替換整行
T 字元 向左查找字元
U 將當前行恢復至第一次修改前的狀態
W 游標移至下一個字首
X 刪除游標前的字元
Y 將當前行存入無名緩沖區,前面加數字表示存入的行數,也可用有
名緩沖區來保存,以後可用命令p或P將其取出
ZZ 存檔退出vi
a 游標後插入正文
b 游標回退至上一個字首
cw 替換當前字
c) 替換當前句子
dw 刪除一個字
dd 刪除一行
e 游標移到下一個字末
f 字元 在當前行向前查找字元
h 游標左移一格
i 在游標前插入正文
j 游標下移一行
k 游標上移一行
l 游標右移一格
m 字母 用字母標記當前行,以後可用 『字母使游標移動到當前行,
(參看』命令)
n 重復上次 / 或 ? 命令
o 在當前行下開辟一新行
p 將用戶緩沖區內容放到游標位置(參看P命令)
r 替換當前字元
s 用一串字元替換當前字元
t 字元 游標移動至字元前
u 取消上次操作
w 游標移至下一字首
x 刪除當前字元
yw 將當前字存入無名緩沖區,前面可加x,表示存入名字為x的有名
緩沖區(x為a-z),也可加數字表示存入的字數,以後可用P或p命
令取出
yy 將當前行存入無名緩沖區,用法參看yw
{ 游標移動至前一段開頭
| 游標移至行首,若前面加數字,則移到數字指定行的行首
} 游標移至下一段開頭
在:提示符下,常用命令如下:
:w 當前文件存檔
:w! 強制存檔
:w 文件 將內容寫入指定文件
:w! 文件 強制寫入指定文件
:x,y w 文件 將 x至 y 行寫入指定文件中
:r 文件 將文件讀到游標位置
:r ! 命令將系統命令的輸出讀到游標位置
:q 退出編輯
:q! 強制退出
:x 與命令ZZ相同
:e 文件名 編輯另一文件
:e ! 重新編輯文件,放棄任何改變
:sh 執行sh,結束後回到編輯
:! 命令 執行命令後回到編輯
:n 編輯下一文件
:n 文件表 重新定義待編輯文件表
:set 設置 vi 的選項,例如 set nu 表示每行前顯示行號,在選項前
加no則表示清除該選項,例如 set nonu 表示每行前不顯示行
號,下面是一些常用的選項:
ai 自動縮進
aw 編輯下一文件前自動存檔
ic 查找字元串時不區分大小寫
nu 每行前顯示行號
sm 輸入)及}時顯示與之配對的( 或 {
slow 插入時延遲屏幕刷新
ws 使查找能繞過文件尾從頭進行
wa 寫文件之前不作對文件的檢查

㈡ linux vi保存退出命令 (如何退出vi)

Linux下vi命令編輯器怎樣編輯及保存退出方法如下:

1、如圖,vi 文件名,接著按回車即可打開對應的文件,如果沒有對應的文件,那麼vi命令就會自動創建一個新的。

㈢ linux VI命令

回到開始的地方 gg
打開並定位第10行 vi +10 filename.txt
往下翻頁 ctrl+d

簡易教學 vimtutor

㈣ linux下vi編輯器命令大全

高級一些的編輯器,都會包含宏功能,vim當然不能缺少了,在vim中使用宏是非常方便的:
:qx 開始記錄宏,並將結果存入寄存器x
q 退出記錄模式
@x 播放記錄在x寄存器中的宏命令
稍微解釋一下,當在normal模式下輸入:qx後,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模
式,然後輸入@x對剛才記錄下來的命令進行重復,此命令後可跟數字,表示要重復多少次,比如@x20,可以重復20次。這個在文本的批處理中是非常有用的。
同時編輯多個文件
在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標簽頁功能了,可以支持同時編輯多個文件。
標簽命令
:tabe fn 在一個新的標簽頁中編輯文件fn
gt 切換到下一個標簽頁
gT 切換到上一個標簽頁
:tabr 切換到第一個標簽頁
:tabl 切換到最後一個標簽頁
:tabm [N] 把當前tab移動到第N個tab之後
對,正如你所想像的那樣,跟eclipse, ue等的標簽頁是一個意思!
窗口命令
ctrl+w s 水平分割窗口
ctrl+w w 切換窗口
ctrl+w q 退出當前窗口(由於同時有多個文件,此命令不會影響其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不會對文件做實際的修改,只是載入到緩沖區中,對文件的編輯其實是對緩沖區的編輯,直到:w時才會存入物理文件。
:e file 把file載入到新的緩沖區中
:bn 跳轉到下一個緩沖區
:bd 刪除緩沖區(關閉文件)
:sp fn 分割窗口,並將fn載入到新的窗口中
退出編輯器
:w 將緩沖區寫入文件,即保存修改
:wq 保存修改並退出
:x 保存修改並退出
:q 退出,如果對緩沖區進行過修改,則會提示
:q! 強制退出,放棄修改
查找替換
/pattern 向後搜索字元串pattern
?pattern 向前搜索字元串pattern
n 下一個匹配(如果是/搜索,則是向下的下一個,?搜索則是向上的下一個)
N 上一個匹配(同上)
:%s/old/new/g 搜索整個文件,將所有的old替換為new
:%s/old/new/gc 搜索整個文件,將所有的old替換為new,每次都要你確認是否替換
復制粘貼
dd 刪除游標所在行
dw 刪除一個字(word)
x 刪除當前字元
X 刪除前一個字元
D 刪除到行末
yy 復制一行,此命令前可跟數字,標識復制多行,如6yy,表示從當前行開始復制6行
yw 復制一個字
y$ 復制到行末
p 粘貼粘貼板的內容到當前行的下面
P 粘貼粘貼板的內容到當前行的上面
]p 有縮進的粘貼,vim會自動調節代碼的縮進
"a 將內容放入/存入a寄存器,可以支持多粘貼板
附:比如常用的一個寄存器就是系統寄存器,名稱為+,所以從系統粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。
移動游標
在vim中移動游標跟其他的編輯器中有很大的區別,不過一旦學會了,就會飛速的在文本中移動了。
h,j,k,l 上,下,左,右
ctrl-f 上翻一頁
ctrl-b 下翻一頁
% 跳到與當前括弧匹配的括弧處,如當前在{,則跳轉到與之匹配的}處
w 跳到下一個字首,按標點或單詞分割
W 跳到下一個字首,長跳,如end-of-line被認為是一個字
e 跳到下一個字尾
E 跳到下一個字尾,長跳
b 跳到上一個字
B 跳到上一個字,長跳
0 跳至行首,不管有無縮進,就是跳到第0個字元
^ 跳至行首的第一個字元
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至當前游標所在的變數的聲明處
[N]G 跳到第N行,如0G,就等價於gg,100G就是第100行
fx 在當前行中找x字元,找到了就跳轉至
; 重復上一個f命令,而不用重復的輸入fx
tx 與fx類似,但是只是跳轉到x的前一個字元處
Fx 跟fx的方向相反
),( 跳轉到上/下一個語句
* 查找游標所在處的單詞,向下查找
# 查找游標所在處的單詞,向上查找
`. 跳轉至上次編輯位置
在屏幕上移動
H 移動游標到當前屏幕上最上邊的一行
M 移動游標到當前屏幕上中間的一行
L 移動游標到當前屏幕上最下邊的一行
書簽
ma 把當前位置存成標簽a
`a 跳轉到標簽a處
編輯
r 替換一個字元
J 將下一行和當前行連接為一行
cc 刪除當前行並進入編輯模式
cw 刪除當前字,並進入編輯模式
c$ 擦除從當前位置至行末的內容,並進入編輯模式
s 刪除當前字元並進入編輯模式
S 刪除游標所在行並進入編輯模式
xp 交換當前字元和下一個字元
u 撤銷
ctrl+r 重做
. 重復上一個編輯命令
~ 切換大小寫,當前字元
g~iw 切換當前字的大小寫
gUiw 將當前字變成大寫
guiw 將當前字變成小寫
>> 將當前行右移一個單位
<< 將當前行左移一個單位(一個tab符)
== 自動縮進當前行
插入模式
i 從當前游標處進入插入模式
I 進入插入模式,並置游標於行首
a 追加模式,置游標於當前游標之後
A 追加模式,置游標於行末
o 在當前行之下新加一行,並進入插入模式
O 在當前行之上新加一行,並進入插入模式
Esc 退出插入模式
可視模式
標記文本
v 進入可視模式,單字元模式
V 進入可視模式,行模式
ctrl+v 進入可視模式,列模式,類似於UE的列模式
o 跳轉游標到選中塊的另一個端點
U 將選中塊中的內容轉成大寫
O 跳轉游標到塊的另一個端點
aw 選中一個字
ab 選中括弧中的所有內容,包括括弧本身
aB 選中{}括弧中的所有內容
ib 選中括弧中的內容,不含括弧
iB 選中{}中的內容,不含{}
對標記進行動作
> 塊右移
< 塊左移
y 復制塊
d 刪除塊
~ 切換塊中內容的大小寫

㈤ linux的vi命令編輯後wq與x的區別是什麼

linux的vi命令編輯後wq與x的區別只有一個。

這兩者一般情況下沒度什麼不一樣,但是在編程方面,對編輯源文件可能會產生重要影響。因為文件即使沒有修改,":wq"強制更新文件的修改時間,這樣回會讓make編譯整個項目時以為文件被修改過了,然後就得答重新編譯鏈接生成可執行文件。

這可能會產生讓人誤解的後果,當然也產生了不必要的系統資源花銷。

:wq 強制性寫入文件並退出百。即使文件沒有被修改也強制寫入,並更新文件的修改時間。

:x 寫入文件並退出。僅當文件被修改時才寫入,並更新文件修改時間,否則不會更新文件修改時間。

(5)linux中vi命令擴展閱讀

vi命令詳解:

基本上vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:

1) 命令行模式command mode)

控制屏幕游標的移動,字元、字或行的刪除,移動復制某區段及進入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。

3) 底行模式(last line mode)

將文件保存或退出vi,也可以設置編輯環境,如尋找字元串、列出行號……等。

不過一般在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。

㈥ linux的VI命令誰會啊!

基本上vi可分為三種操作狀態,分別是命令模式(Command mode)、插入模式(Insert mode)和底線命令模式(Last line mode),各模式的功能區分如下:
1. Comand mode:控制屏幕游標的移動,字元或游標的刪除,移動復制某區段及進入Insert mode下,或者到Last line mode。
2. Insert mode:唯有在Insert mode下,才可做文字數據輸入,按Esc等可回到Comand mode。
3. Last line mode:將儲存文件或離開編輯器,也可設置編輯環境,如尋找字元串、列出行號等。
不過可以把vi簡化成兩個模式,即是將Last line mode也算入Command mode,把vi分成Command 和Insert mode。
vi的基本操作
�6�1進入vi
在系統提示符號輸入vi及文件名稱後,即可進入vi全屏幕編輯畫面:
$ vi testfile
有一點要特別注意,就是您進入vi之後是處於「Command mode」下,您要切換到Insert mode才能輸入文字。初次用vi的用戶都會想先用上下左右鍵移動游標,結果電腦一直叫,把自己氣個半死,所以進入vi後,先不要亂動,轉換入Insert後再說。
�6�1切換至Insert mode編輯文件
在Command mode下按『i』、『a』或『o』三鍵就可進入Insert mode。這時候您就可以開始輸入文字了。
i: 插入,從目前游標所在之處插入所輸入的文字。
a: 增加,目前游標所在的下一個字開始輸入文字。
o: 插入新的一行,從行首開始輸入文字。
�6�1Insert的切換→Command mode,按Esc鍵
您目前處於Insert mode,您就只能一直打字。假如您發現打錯字了,想用游標鍵往回移動,將該字刪除,就要按ESC鍵轉換回Command mode,再刪除文字。
�6�1離開vi及存文件
在Command mode下,可按冒號「:」鍵入入Last line mode,例如:
:w filename (輸入「w filename」,將文章存入指定的文件名filename)
:wq (輸入「wq」,因為進入之時已經指定文件名testfile,所以會寫入testfile並離開vi)
:q! (輸入「q!」,強制離開並放棄編輯的文件)

Command mode功能鍵列表
在介紹command mode指令的時後,指令後面加上「常用」字眼的功能鍵,表示比較常用的vi指令,請讀者您一定要學會、記住。
(1)I、a、o切換進入Insert mode。[超級常用]
(2)移動游標
vi可以直接用鍵盤上的游標鍵來上下左右移動,但正規的vi是用小寫英文字母
h、j、k、l,分別控制游標左、下、上、右移一格。
按Ctrl+B:屏幕往後移動一頁。[常用]
按Ctrl+F:屏幕往前移動一頁。[常用]
按Ctrl+U:屏幕往後移動半頁。
按Ctrl+D:屏幕往前移動半頁。
按 0 (數字零):移動文章的開頭。[常用]
按 G:移動到文章的最後。[常用]
按 w:游標跳到下個word的開頭。[常用]
按 e:游標跳到下個word的字尾。
按 b:游標回到上個word的開頭。
按 $:移到游標所在行的行尾。[常用]
按 ^:移到該行第一個非空白的字元。
按 0:移到該行的開頭位置。[常用]
按 #:移到該行的第#個位置,例:51、121。[常用]
(3)刪除文字
x:每按一次刪除游標所在位置的後面一個字元。[超常用]
#x:例如,6x 表刪除游標所在位置的後面6個字元。[常用]
X:大字的X,每按一次刪除游標所在位置的前面一個字元。
#X:例如,20X 表刪除游標所在位置的前面20個字元。
dd:刪除游標所在行。[超常用]
#dd:例如,6dd表刪除從游標所在的該行往下數6行之文字。[常用]
(4)復制
yw:將游標所在處到字尾的字元復制到緩沖區中。
(想在和#x、#X的功能相反)
p:將緩沖區內的字元粘貼到游標所在位置(指令『yw』與『p必須搭配使用)。
yy:復制游標所在行。[超常用]
p:復制單行到您想粘貼之處。(指令『yy』與『p』必須搭配使用)
#yy:如:6yy表示拷貝從游標所在的該行往下數6行之文字。[常用]
p:復制多行到您想粘貼之處。(指令『#yy』與『p』必須搭配使用)
「ayy:將復制行放入buffer a, vi提供buffer功能,可將常用的數據存在buffer
「ap:將放在buffer a的數據粘貼。
「b3yy:將三行數據存入buffer b。
「b3p:將存在buffer b的資料粘貼
(5)取代
r: 取代游標所在處的字元:[常用]
R:取代字元直到按Esc為止。
(6)復原(undo)上一個指令
u:假如您誤操作一個指令,可以馬上按u,回復到上一個操作。[超常用]
.: .可以重復執行上一次的指令。
(7)更改
cw:更改游標所在處的字到字尾$處。
c#w:例如,c3w代表更改3個字。
(8)跳至指定行
Ctrl+G:列出遊標所在行的行號。
#G:例如,15G,表示移動游標至文章的第15行行首。[常用]
Last line mode下指令簡介
讀者您要使用Last line mode之前,請記得先按Esc鍵確定您已經處於Command mode下後,再按冒號「:」或「/」或「?」三鍵的其中一鍵進入Last line mode。
1.列出行號
set nu: 輸入「set nu」後,會在文章的每一行前面列出行號。
2.跳到文章的某一行
#:井號代表一個數字,在Last line mode提示符號「:」前輸入數字,再按Enter就會跳到該行了,如:15[Enter]就會跳到文章的第15行。[常用]
3.尋找字元串
/關鍵字:先按/,再輸入您想尋找的字,如果第一次找的關鍵字不是您相盡可能的,可以一直按n會往下尋找到您要的關鍵字為止。
?關鍵字:先按?,再輸入您想尋找的字,如果第一次找的關鍵字不是您想要的,可以按n會往前尋找到您要的關鍵字為止。
4.取代字元串
1,$s/string/replae/g:在last line mode輸入「1,$s/string/replace/g」會將全文的string字元串取代為replace字元串,其中1,$s就是指搜尋區間為文章從頭至尾的意思,g則是表示全部取代不必確認。
%s/string/replace/c:同樣會將全文的string字元串取代為replace字元串,和上面指令不同的地方是,%s和1,$s是相同的功能,c則是表示要替代之前必須再次確認是否取代。
1,20s/string/replace/g:將1至20行間的string替代為relpace字元串。
5.存文件
w:在last line mode提示符號「:」前按w即可將文件存起來。[超常用]
#,# w filename:如果您想摘取文章的某一段,存成另一個文件,可用這個指令#代錶行號,例如30,50 w nice,將您正在編輯文章的第30~50行存成nice這個文件。
6.離開
q:按q就離開,有時如果無法離開vi,可搭配「!:強置離開vi,如「q!」
qw:一般建議離開時,搭配w一起使用,如此離開時還可存文件。[常用]

㈦ linux vi命令的使用方法

一般模式常用操作

【h(或向左方向鍵)】 游標左移一個字元

【j(或向下方向鍵)】 游標下移一個字元

【k(或向上方向鍵)】 游標上移一個字元

【l(或向右方向鍵)】 游標右移一個字元

【[Ctrl] + f】 屏幕向下移動一頁(相當於Page Down鍵)

【[Ctrl] + b】 屏幕向上移動一頁(相當於Page Up鍵)

【[0]或[Home]】 游標移動到當前行的最前面

【[$]或[End]】 游標移動到當前行的末尾

【G】 游標移動到文件的最後一行(第一個字元處)

【nG】 n為數字(下同),移動到當前文件中第n行

【gg】 移動到文件的第一行,相當於"1G"

【n[Enter]】 游標向下移動n行

㈧ 關於linux vi命令

你這個就是vi的操作界面,你按i,就進入輸入模式,跟記事本一樣的操作,輸入完畢
按esc退到控制模式,輸入shift+:就進入命令模式,然後輸入wq保存文件
具體請搜索相關文檔
如果不會就用簡單的nano編輯器把。。。

㈨ linux的vi命令怎麼進去

linux編輯文件時,雖然使用vi 文件名可以查看文件,但是無法修改文件,原因如下:
1、vi 文件名 後,進入文件但是一般模式,無法修改文件。
2、按鍵 i 進入修改模式,此模式下可以修改文件。
3、修改完後,按ESC,進入命令模式,此時用:wq 保存退出 或用:q!不保存退出

㈩ linux vi如何進入命令模式

1、首先打開linux vi,進入到編輯頁面中,

閱讀全文

與linux中vi命令相關的資料

熱點內容
android圖片變灰 瀏覽:268
linuxvi下一個 瀏覽:975
安卓手機的應用鎖怎麼解 瀏覽:735
linux增加路徑 瀏覽:849
sql身份證號最後四位加密 瀏覽:533
xp系統表格加密 瀏覽:856
光遇安卓軍大衣什麼時候上線 瀏覽:840
android應用商店圖標 瀏覽:341
java計算圓的面積 瀏覽:643
應用編譯優化recovery 瀏覽:577
域控命令n 瀏覽:258
php導出文件 瀏覽:13
谷歌地圖網頁版無法連接伺服器地址 瀏覽:298
菜鳥工具在線編譯python 瀏覽:858
柵格化命令有何作用 瀏覽:825
為什麼壓縮文件不能解壓 瀏覽:311
足球app哪個軟體好 瀏覽:96
產品經理逼瘋程序員的一天 瀏覽:17
修改svn伺服器ip地址 瀏覽:584
下列關於編譯說法正確的是 瀏覽:246