vi 里 r 已經被佔用了,r是替換
u、r是vi個版本都有的命令,ctrl+r不是所有vi都有的
❷ Linux VI編輯器如何快捷撤銷當前操作
編輯狀態撤銷操作,需要從編輯狀態用鍵盤上的Esc鍵切換到「一般模式」
在一般模式中,按下一次字母U鍵就可以撤銷一次上次的輸入。
提示:編輯模式是無法執行命令的。
❸ linux vi編輯器命令操作怎麼做,把命令寫給我,能寫多少就寫多少吧
你輸入指令, vi -- help然後就會顯示,或者輸入man vi也是一樣的,: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 插入模式 輸入u字元時,文檔內容全部被清空了。如何解決呢,謝謝了!
2種方法:
1,不保存退出,這樣會恢復到編輯前的狀態
2,再按一下u
u 撤銷。恢復最近一次的文本修改操作,即使已經移動了游標。在Linux系統中,再次使用撤銷命令將恢復更前一次的文本修改操作。在BSD的vi中,第2次撤銷操作將撤銷第一次撤銷操作,恢復第1次撤銷前修改的文本
❺ linux的vi編輯器重做一次與重復前一個動作是一樣的嗎
在vi中按u可以撤銷一次操作
u 撤銷上一步的操作Ctrl+r 恢復上一步被撤銷的操作
注意:如果你輸入「u」兩次,你的文本恢復原樣,那應該是你的Vim被配置在Vi兼容模式了。重做如果你撤銷得太多,你可以輸入CTRL-R(redo)回退前一個命令。換句話說,它撤銷一個撤銷。要看執行的例子,輸入CTRL-R兩次。字元A和它後面的空格就出現了:young intelligent turtle有一個特殊版本的撤銷命令:「U」(行撤銷)。行撤銷命令撤銷所有在前一個編輯行上的操作。 輸入這些命令兩次取消前一個「U」:A very intelligent turtlexxxx 刪除veryA intelligent turtlexxxxxx 刪除turtleA intelligent用「U」恢復行A very intelligent turtle用「u」撤銷「U」A intelligent「U」命令自己改變自己,「u」命令撤銷操作,CTRL-R命令重做操作。這有點亂,但不用擔心,用「u」和CTRL-R命令你可以切換到任何狀態。有關Linux命令介紹可看下圖
❻ linux vi編輯器如何快捷按鍵撤銷當前操作
命令模式
u//撤銷
如果不記得什麼操作,可以 :模式, q! 不保存退出。網頁鏈接 Vim編輯器介紹
❼ linux文本編輯器vi的撤銷操作u和U的區別
「U」(行撤銷)。行撤銷命令撤銷所有在前一個編輯行
上的操作。 輸入這些命令兩次取消前一個「U」:
A very intelligent turtle
xxxx 刪除very
A intelligent turtle
xxxxxx 刪除turtle
A intelligent
用「U」恢復行
A very intelligent turtle
用「u」撤銷「U」
A intelligent
❽ 在linux中,我用vi編輯的時候,用「u"命令撤銷過一些操作,我想再恢復原來的操作用什麼命令啊
用的命令是:ctrl + R
三種模式間的相互轉換
vi編輯器的啟動與退出
直接進入編輯環境
$vi
進入編輯環境並打開(新建)文件
$vimyfile
退出vi編輯環境
輸入末行命令放棄對文件的修改,並退出編輯器
:q!
文件保存與另存為
保存文件
保存對vi編輯器中已打開文件的修改
:w
另存為文件
將vi編輯器中的內容另存為指定文件名
:wmyfile
退出vi編輯器的多種方法
未修改退出
沒有對vi編輯器中打開的文件進行修改,或已對修改進行了保存,直接退出vi編輯器
:q
保存並退出
對vi編輯器中的文件進行保存並退出vi編輯器
:wq
不保存退出
放棄對文件內容的修改,並退出vi編輯器
:q!
游標的移動和翻頁操作
操作類型游標操作鍵功能
游標移動h向左移動游標
l向右移動游標
k向上移動游標
j向下移動游標
翻頁Ctrl+f向前翻整頁
Ctrl+b向後翻整頁
Ctrl+u向前翻半頁
Ctrl+d向後翻半頁
行內快速跳轉
操作鍵功能
^將游標快速跳轉到本行的行首字元
$將游標快速跳轉到本行的行尾字元
w將游標快速跳轉到當前游標所在位置的後一個單詞的首字母
b將游標快速跳轉到當前游標所在位置的前一個單詞的首字母
e將游標快速跳轉到當前游標所在位置的後一個單詞的尾字母
文件內行間快速跳轉
命令功能
:setnu在編輯器中顯示行號
:setnonu取消編輯器中的行號顯示
1G跳轉到文件的首行
G跳轉到文件的末尾行
#G跳轉到文件中的第#行
進入輸入模式
命令功能
i在當前游標處進入插入狀態
a在當前游標後進入插入狀態
A將游標移動到當前行的行末,並進入插入狀態
o在當前行的下面插入新行,游標移動到新行的行首,進入插入狀態
O在當前行的上面插入新行,游標移動到新行的行首,進入插入狀態
cw刪除當前游標到所在單詞尾部的字元,並進入插入狀態
c$刪除當前游標到行尾的字元,並進入插入狀態
c^命令刪除當前游標之前(不包括游標上的字元)到行首的字元,並進入插入狀態
輸入模式的編輯鍵操作
按鍵功能
方向鍵進行上下左右方向的游標移動
Home快速定位游標到行首
End快速定位游標到行尾
PageUp進行文本的向上翻頁
PageDown進行文本的向下翻頁
Backspace刪除游標左側的字元
Del刪除游標位置的字元
刪除操作
命令功能
x刪除游標處的單個字元
dd刪除游標所在行
dw刪除當前字元到單詞尾(包括空格)的所有字元
de刪除當前字元到單詞尾(不包括單詞尾部的空格)的所有字元
d$刪除當前字元到行尾的所有字元
d^刪除當前字元到行首的所有字元
J刪除游標所在行行尾的換行符,相當於合並當前行和下一行的內容
撤消操作
命令功能
u取消最近一次的操作,並恢復操作結果
可以多次使用u命令恢復已進行的多步操作
U取消對當前行進行的所有操作
Ctrl+r對使用u命令撤銷的操作進行恢復
復制與粘貼操作
命令功能
yy復制當前行整行的內容到vi緩沖區
yw復制當前游標到單詞尾字元的內容到vi緩沖區
y$復制當前游標到行尾的內容到vi緩沖區
y^復制當前游標到行首的內容到vi緩沖區
p讀取vi緩沖區中的內容,並粘貼到游標當前的位置(不覆蓋文件已有的內容)
字元串查找操作
命令功能
/word從上而下在文件中查找字元串「word」
?word從下而上在文件中查找字元串「word」
n定位下一個匹配的被查找字元串
N定位上一個匹配的被查找字元串
字元串替換操作
命令功能
:s/old/new將當前行中查找到的第一個字元「old」串替換為「new」
:s/old/new/g將當前行中查找到的所有字元串「old」替換為「new」
:#,#s/old/new/g在行號「#,#」范圍內替換所有的字元串「old」為「new」
:%s/old/new/g在整個文件范圍內替換所有的字元串「old」為「new」
:s/old/new/c在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認
vi編輯器的在線幫助
使用vi在線幫助需安裝的軟體包
vim-common-6.3.035-3.i386.rpm
vim-enhanced-6.3.035-3.i386.rpm
軟體包在RHEL5的第2張安裝光碟
使用vi在線幫助的兩種方法
在vi編輯器中按「F1」鍵
輸入help末行命令