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

linux中vi命令詳解

發布時間:2022-06-27 05:18:48

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

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

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

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

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

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

(1)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 [-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 vim命令詳解

在vim中使用宏是非常方便的:
:qx 開始記錄宏,並將結果存入寄存器x
q 退出記錄模式
@x 播放記錄在x寄存器中的宏命令
稍微解釋一下,當在normal模式下輸入:qx後,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模
式,然後輸入@x對剛才記錄下來的命令進行重復,此命令後可跟數字,表示要重復多少次,比如@x20,可以重復20次。這個在文本的批處理中是非常有用的。
同時編輯多個文件
在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標簽頁功能了,可以支持同時編輯多個文件。 《Linux就該這么學》學習更多linux知識。
標簽命令
: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命令和vipw命令有什麼區別

具體的區別展示如下:

  1. vipw命令是用於編輯用戶密碼文件,且只用於編輯密碼文件,vi命令能編輯任何文件,vi是一個功能強大的文本編輯器,他有三種模式,即命令模式、文本編輯模式、和最後行模式;

  2. vipw在編輯密碼文件的時候會為該文件上鎖,上鎖後其他人編輯該文件時會提示稍後再試,在別人修改完成前不能對該文件進行修改,而vi會提示有人在編輯了,但是會提供繼續編輯或覆蓋等選項進行選擇;

  3. vipw默認使用的編輯器就是vi。

Ⅳ 在linux 下,使用vi 編寫代碼的時候,這樣設置才能使不同語法會顯示不同的顏色

打開語法解析命令:
:syntax on
關閉語法解析命令:
:syntax off
也可以將此命令寫入~/.vimrc,再次登錄時所運行的vim就會進行語法解析了。
syntax on

Ⅵ linux vi命令在哪個目錄

vi有自己專門的命令,進vi編輯界面後別亂按鍵盤(keyboard),按i是插入 具體的你可以搜索一下vi命令詳解

Ⅶ 關於LINUX的幾個指令尋求幫助awk、sed、grep 、vim。關於他們之間的關系,哪位用大白話指點一下迷津,不勝

vim 是文本編輯器,類似windows中的notepad,功能很強大,但需要去學習、適應一段時間才能使用得手。
grep命令是一個非常實用的shell命令,其功能為查找與命令後面內容匹配或不匹配的東西,可以與各種命令混合使用,效果很好,如:
1、查看文件a.txt中有"LINUX"這個詞的所有行:grep LINUX a.txt
2、查看文件a.txt中沒有"LINUX"這個詞的所有行:grep -v LINUX a.txt
3、結合管道命令:cat a.txt|grep LINUX (與1同),cat a.txt|grep -v LINUX (與2同)
sed、awk是兩個非常強大的shell工具(不單純是命令),他們各有超強的能力,甚至可以編程進行應用處理,關於他們的使用有專用的書介紹,內容非常多。sed多偏重於正則表達式方面的應用,實現查詢替換等操作。awk的程序處理能力顯示的更強。

Ⅷ 在linux系統中vi文本編輯器中有$命令提示符嗎

vi
雖然沒有$命令提示符但是,他有一個
:的可以輸入命令的
要出現這個你得按insert
然後再按shift+:
他就會出現提示符了
:然後你可以輸入命令比如說
退出
:q
然後回車,就可以了,具體的可以到網路看,那邊有vi的詳解。

Ⅸ Linux vi ^C 命令解析。

跳動到第一個非空位置 ^

下面是我用vim的時候做的筆記........你可以看一下。
-------------------------------------------------------------
Linux vim 操作快捷鍵
----------------------
1、上k下j左h右l
2、編輯i、a、s
3、視圖v
4、返回普通模式 esc、ctrl+c、ctrl+[
5、執行命令 :
6、添加新頁 tabnew 頁面名
7、拷貝 y,p 或者 +y,+p
8、切換頁面 gt、gT (go tab)
9、分割頁面shift+; ->(sp 文件名 或 vs 文件名)
10、切換面板ctrl+w(表示進入切換狀態)+[h,j,k,l](某一個就行)
11、保存 w
12、退出 q
13、保存退出 wq
14、全部退出 qa
15、按單詞移動 w,e,b
16、單行按字元查找 f+字元(;繼續 ,上一個)或者t代替f也可以
17、撤銷 u
18、跳動到第一個非空位置 ^,跳動到行尾部$
19、跳動到第一個位置 0
20、按括弧匹配查找 [[ , ]]
21、跳動到代碼位置shift + L (尾部), H(gg頭部) , M(中部)
22、跳到指定行 :120

1、正向翻頁 ctrl+f
2、反向翻頁 ctrl+b
3、半屏翻頁 ctrl +d 、 ctrl + u
4、剪切 x, 刪除 d
5、撤銷 u,重做ctrl+r
6、刪除區間 10,16d(刪除10~16行內容,%d刪除全部內容)
7、設置高亮搜索 set hls
8、忽略大小寫搜索 set ic
9、一次搜索多個 \| (如:/main|\max\|swap)
10、查看man : K
11、查看ascii碼值:ga
12、自動排版 游標移動到{位置,切換到可視化模式%=
13、左右縮進:切換到可視化 <, >
14、自動補齊: ctrl+n 或者 ctrl+p

Ⅹ 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命令詳解相關的資料

熱點內容
無厘頭程序員漫畫 瀏覽:630
macd從入門到精通pdf 瀏覽:867
程序員回北京老家 瀏覽:325
藏族pdf 瀏覽:657
矩形密封圈壓縮量 瀏覽:593
電腦設置ntp時間同步伺服器地址 瀏覽:20
怎麼更有效招聘對日程序員 瀏覽:149
命令號角 瀏覽:275
格力雙轉子壓縮機 瀏覽:614
hp伺服器上的ip地址 瀏覽:562
c語言編程計算100以內的所有素數 瀏覽:624
命令輸入框 瀏覽:892
冰箱壓縮機發燙噪音 瀏覽:85
單片機棧溢出符號 瀏覽:330
命令與征服修改器怎麼用 瀏覽:485
什麼app比較費錢 瀏覽:832
為什麼同一個app的功能不一樣 瀏覽:232
小型工作室用什麼伺服器好 瀏覽:995
程序員的興趣 瀏覽:413
華為伺服器有什麼好 瀏覽:701