vi的複製粘貼命令 html
2015-08-09 13:29 1426人閱讀 評論(1) 收藏 舉報 linux
vi編輯器有3種模式:命令模式、輸入模式、末行模式。掌握這三種模式十分重要:
命令模式:vi啓動後默認進入的是命令模式,從這個模式使用命令能夠切換到另外兩種模式,同時不管在任何模式下只要按一下[Esc]鍵均可以返回命令模式。在命令模式中輸入字幕「i」就能夠進入vi的輸入模式編輯文件。
輸入模式:在這個模式中咱們能夠編輯、修改、輸入等編輯工做,在編輯器最後一行顯示一個「--INSERT--」標誌着vi進入了輸入模式。當咱們完成修改輸入等操做的時候咱們須要保存文件,這時咱們須要先返回命令模式,在進入末行模式保存。
末行模式:在命令模式輸入「:」便可進入該模式,在末行模式中有好多好用的命令。 vim
4.編輯操做
進入輸入模式命令
i插入命令 a附加命令 o打開命令 c修改命令
r取代命令 s替換命令 Esc退出命令
輸入模式的操做
Home光標到行首
End 光標到行尾
Page Up和Page Down上下翻頁
Delect刪除光標位置的字符
刪除操做(命令模式使用)
x刪除光標處的單個字符
dd刪除光標所在行
dw刪除當前字符到單詞尾包括空格的全部字符
#x例如3x刪除光標處向右的三個字符
#dd例如3dd從當前行開始向下刪除三行文本
撤銷操做
u命令取消最近一次的操做,可使用屢次來恢復原有的操做
U取消全部操做
Ctrl+R能夠恢復對使用u命令的操做
複製操做
yy命令複製當前整行的內容到vi緩衝區
yw複製當前光標所在位置到單詞尾字符的內容到vi緩存區,至關於複製一個單詞
y$複製光標所在位置到行尾內容到緩存區
y^複製光標所在位置到行首內容到緩存區
#yy例如:5yy就是複製5行
#yw例如:2yw就是複製兩個單詞
若是要複製第m行到第n行之間的內容,能夠在末行模式中輸入m,ny例如:3,5y複製第三行到第五行內容到緩存區。 windows
5.查找和替換
vi的查找和替換功能主要在末行模式完成:
至上而下的查找
/ 要查找的字符竄,其中/表明從光標所在位置起開始查找,例如:/ work
至下而上的查找
?要查找的字符竄 例如:/ work
替換
:s/old/new用new替換行中首次出現的old
: s/old/new/g 用new替換行中全部出現的old
:#,# s/old/new/g用new替換從第#行到第#行中出現的old
:% s/old/new/g用new替換整篇中出現的old
若是替換的範圍較大時,在全部的命令尾加一個c命令,強制每一個替換須要用戶進行確認,例如:s/old/new/c 或s/old/new/gc
6恢復文件
vi在編輯某一個文件時,會生成一個臨時文件,這個文件以 . 開頭並以 .swp結尾。正常退出該文件自動刪除,若是意外退出例如突然斷電,該文件不會刪除,咱們在下次編輯時能夠選擇一下命令處理:
O只讀打開,不改變文件內容
E繼續編輯文件,不恢復.swp文件保存的內容
R將恢復上次編輯之後未保存文件內容
Q退出vi
D刪除.swp文件
或者使用vi -r 文件名來恢復未保存的內容 瀏覽器
在GUI下:
(1)可按i進入插入模式
(2)使用鼠標拖動反選要粘貼的內容,按鼠標左鍵複製選定塊到緩衝區
(3)而後將光標移到要粘貼處,按鼠標中鍵(兩鍵鼠標可同時按左右鍵),粘貼緩衝區內容。 緩存
在純文本終端下:
(1)選定文本塊,使用v進入可視模式;移動光標鍵選定內容
(2)複製選定塊到緩衝區,用y;複製整行,用yy
(3)剪切選定塊到緩衝區,用d;剪切整行用dd
(4)粘貼緩衝區中的內容,用p
在同一編輯窗打開第二個文件,用:sp [filename]
在多個編輯文件之間切換,用Ctrl+w
命令前面加數字表示重複次數,加字母表示使用的緩衝區名稱。
獲取幫助,用:help [內容或命令] app
:set tabstop=4 " Force tabs to be displayed/expanded to 4 spaces (instead of default 8).
:set softtabstop=4 " Make Vim treat <Tab> key as 4 spaces, but respect hard Tabs. : " I don't think this one will do what you want. :set expandtab " Turn Tab keypresses into spaces. Sounds like this is happening to you. " You can still insert real Tabs as [Ctrl]-V [Tab]. :set noexpandtab " Leave Tab keys as real tabs (ASCII 9 character). :1,$retab! " Convert all tabs to space or ASCII-9 (per "expandtab"), " on lines 1_to_end-of-file. :set shiftwidth=4 " When auto-indenting, indent by this much. " (Use spaces/tabs per "expandtab".) :help tabstop " Find out more about this stuff. :help vimrc " Find out more about .vimrc/_vimrc :-) |
VI中複製與粘貼基本方法 編輯器
發佈: 2007-6-08 22:43 | 做者: seanhe | 來源: | 查看: 25次 | 進入軟件測試論壇討論 測試
緩衝區就好象windows下的煎切版同樣,它有好多個,你能夠把你想要的複製進去,而後粘貼,只不過你用"ay時候多換a就是了,如你要複製462行用"ay ,複製536行用"by this
轉自:http://www.cnblogs.com/lansh/archive/2010/08/19/1803378.html