vim有3中主要的模式:
1.normal mode:當進入vim時,預設的模式就是normal mode。在此模式下,無法輸入任何文字,不過可以利用按鍵命令來執行許多操作命令,例如移動游標位置、複製、刪除。
2.insert mode:進入vim輸入a、i、或o鍵。即可進入insert mode,此模式下可以輸入文字內容。
3.command-line mode:在norma lmode中輸入「:」即會進入command-line mode,在此模式下,可以做一些與輸入文字無關的事,例如搜尋字串、儲存檔案或結束編輯等。
在normal mode下:
在command-line mode下:
e 檔案的路徑及名稱:開啟指定檔案
vi的常用操作命令
輸入模式命令
在游標後輸入文字
在當前行末尾輸入文字
在游標前輸入文字
在當前行開始輸入文字
在當前行後輸入新一行
在當前行前輸入新一行
還原u:按此鍵就是在執行undo命令,可取消前一次的操作
^r:按此鍵就是執行redo命令,可以恢復剛才undo的操作
游標移動命令
fx 往右移動到 x 字元上
fx 往左移動到 x 字元上
tx 往右移動到 x 字元前
tx 往左移動到 x 字元後
(注意:以上四個命令中,其中x是鍵入的字元)
; 分號,配合 f 和 t 使用,重複一次
, 逗號,配合 f 和 t 使用,反方向重複一次
% - 移至匹配的括號
shift +g 跳到檔案尾
xp 交換兩個字元位置
ddp 上下兩行調換
:g/^/m0/ 把檔案內容反轉
刪除操作命令
刪除游標所在的字元
刪除游標所在的單詞
刪除游標至行尾的所有字元
同刪除當前行
可在刪除命令前加上數字,如<5x>表示刪除5行。
nd:n為數字,如按3d,再按下↑鍵,則刪除游標上方的3行,再包括本身1行,共刪除4行。若按下↓鍵,則刪除游標下方3行再包括本身1行,共4行。
ndd:若按3dd鍵,表示刪除當前游標位置的1行和下面的2行。
x:刪除游標所在位置的前乙個字元,與d+←鍵一樣
nx:按4x鍵,表示刪除游標位置後的3個字元和游標本身所在的字元
nx:按4x鍵,表示刪除游標位置之前的4個字元(不包括游標的字元)
拷貝與貼上命令
/yw 將游標所在單詞拷入剪貼簿
y$ 將游標至行尾的字元拷入剪貼簿
y 同yy 將當前行拷入剪貼簿
p 將剪貼簿中的內容貼上在游標後
p 將剪貼簿中的內容貼上在游標前
nyy:其中n為數字鍵,表示要複製的行數,若按3yy,則連同游標所在的位置的一行,與下面2行一起複製
yw:可複製游標所在位置到整個單詞結束的字元
nyw:n表示要複製的單詞數目,若按3yw,則會將目前游標所在位置到單詞結束,以及後面的2個字一起複製
改變與替換操作命令
替換游標所在的字元
替換字串行
替換乙個單詞
同替換游標所在的前一字元
替換自游標位置至行尾的所有字元
同替換當前行
全文替換:「g/被替換字串/s//替換字串/g」
>>
<<
查詢命令
向前查詢abc
<?abc> 向後查詢abc
向前繼續查詢 將游標移到下乙個找到的字串上
向後繼續查詢 將游標移到上乙個找到的字串上
r:替換游標所在的位置的字元。修改內容不一定要進入insert mode,在normal mode中,只要將游標移到要更改的字元上,然後按r鍵,就可以輸入要查詢的字元了。
r:連續替換游標所在的位置的字元,按esc鍵停止替換
cc:按cc鍵可以替換游標所在的那一行
替換字串: 當要將文章中的某乙個字串全部替換時(例如將所有的temp替換成tmp),使用「:g/temp/s//tmp/g」或「:1,$stemp/tmp /g」命令,可立刻將所有的「temp」替換成「tmp」字串。如果不是所有的「temp」字串都要替換時,可用「:g/temp/s//tmp /gc」或「:1/,$stemp/tmp/gc」命令。則找到每乙個「temp」字串時,都會將整行顯示在螢幕的下方,可輸入「y」或「n」決定是否要替換。
檔案編輯、儲存及退出vi命令
:q 不包存退出
:q! 不儲存強制性退出
:w 儲存編輯
:wfilename 存入檔案filename中
:w!filename 強制性存入檔案filename中
:wq / :x / zz 儲存退出
編輯數個檔案(利用vi filename(s))進入vi後)
:args 顯示編輯名單中的各個檔名
:n 讀入編輯名單中的下乙個檔案
:rew 讀入編輯名單中的第乙個檔案
:e# 讀入編輯名單內的前乙個檔案
:e file 讀入另乙個檔案進vi(此檔案可不在編輯名單內),
若原檔案經修改還沒有存檔,則應先以: w 存檔。
:e! file 強迫讀入另乙個檔案進入vi,原檔案不作存檔動作。
:!command 暫時退出vi並執行shell指令,執行完畢後再回到vi。
:sh 暫時退出vi到系統下,結束時按ctrl + d則回到vi。
vi filename 進入vi並讀入指定名稱的檔案(新、舊檔案均可)。
vi +n filename 進入vi並且由檔案的第幾行開始。
vi +filename 進入vi並且由檔案的最後一行開始。
vi + /word filename 進入vi並且由檔案的word這個字開始。
vi filename( s ) 進入vi並且將各指定檔案列入名單內,第乙個檔案先讀入。
清理掉dos文字中的^m,可以在:1,$s/^m//g,其中^是用ctrl+v上去的m是回車形成的
正規表示式
在查詢、替換命令 使用以下正規表示式元字元,功能強大。
也可用在:g/命令中
& 代表最近匹配串
~ 代表最近替換串
. 任一字元
^ 行首 或 表示 非
$ 行末
/< 詞首
/> 詞尾
* 0次或多次
/( /) 分節指定與其中正則式匹配的部分,在替換時候可以用 /1 /2 /3 ... 引用匹配部分
表示選擇
- 表示範圍 ,例如 [0-9]代表數字,[a-z]代表小寫字母 [^0-9a-za-z] 代表非數字和大小寫字母
/ 前面部分的從 m 次 至 n 次出現,m n 為數值
/ 精確m次出現
/ 大於等於m次出現
2.把c++語言裡 //注釋 修改為 /* */ 格式
:%s//(.*/)$*/1/*///g
3.在建儲存過程的sql文字裡,在每個create procedure procname()
前加上drop procedure procname ; [ ]裡輸入的是乙個空格和tab鍵。
:%s/^[ ]*[cc][rr][ee][aa][tt][ee][ ]*[pp][rr][oo][cc][ee][dd][uu][rr][ee][
]*/([^()*/]/drop procedure /1;ctrl_vctrl_mcreate procedure /1/g
巨集命令
首先,巨集的實質是將命令儲存在暫存器中,如下是錯誤的
qa "ayw
q 暫存器a衝突,巨集挺有用的
vi的配置檔案
另一方面,使用者可以在主目錄中建立.exrc環境檔案,用set打入
選項,每次呼叫vi時,就會讀入.exrc中的指令與設定。下面是
.exrc環境檔案的例項:
set wrapmarging=8
set showmode
set autoindent
set number
vim配置檔案:
set nobackup
set directory=$vim/swp "there stores all vim swap files
set ignorecase smartcase "/c to force vim to search case sensibly.
set linebreak "let vim don't split a word when linewrap, note: line doesn't be split really
if has('multi_byte_ime')
highlight cursor guibg=green guifg=none
highlight cursorim guibg=purple guifg=none
endif
set autoindent
set smartindent
set tabstop=4 "treat as four spaces, stores instead of spaces
set shiftwidth=4 "be used only when "<<" command is pressed
"turn off ime when insert mode and search mode
set iminsert=0
set imsearch=-1
vi常用命令整總結
進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...
vi常用命令
1.在進行編寫 時,在格式對起上很有用 第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行 第二行,依據上面的對起格式,智慧型的選擇對起方式,對於類似c語言編寫上很有用 set autoindent set smartindent c語言對齊方式,最好用它 set cindent 2....
vi常用命令
一 vi的三種模式 3 命令列模式 從一般模式按下 時進入命令列模式。注意 編輯模式和命令列模式不能互相切換,只能通過一般模式切換。二 三種模式常用按鍵說明 1 一般模式下的可用按鈕 最常用的 移動游標 移動游標 上下左右鍵 螢幕向上翻頁 pageup或者ctrl b 螢幕向下翻頁 pagedown...