syntax enable
能夠高亮關鍵字:通常後面還要在跟一個syntax on
打開語法高亮syntax clear
清除關鍵字高亮在secureCRT不是xterminal模式的時候,試了一下,沒起做用啊,若是是xterminal模式的時候是會起做用的java
/
後面跟要查找的字符串:從當前光標位置向上搜索?
後面跟要查找的字符串:從當前光標位置向下搜索n
找下一個N
找上一個[Ctrl+l]
組合鍵set命令用來定製編輯環境。程序員
set showmode
當vi處在輸入模式下時顯示提示信息set sm
即時顯示配對的)或}set ts=n
把製表符設置爲n(默認爲8)set ai
下一行從前一行的縮進位置開始set number
在編輯器中顯示行號set nonu
取消在編輯器中的行號顯示set hlsearch
高亮顯示搜索到的字符串set incsearch
輸入字符串就立刻顯示匹配點set ruler
標尺,用於顯示光標位置的行號和列號,逗號分隔。每一個窗口都有本身的標尺。若是窗口有狀態行,標尺在那裏顯示。不然,它顯示在屏幕的最後一行上。set cindent
:cindent控制縮進量是經過shiftwidth選項的值,而不是經過tabstops的值,shiftwidth的默認值是8set shiftwidth
:改變shiftwidth的值set helplang=cn
:vim幫助文檔沒法顯示中文時,加入這句試試set encoding=utf-8
:colo murphy
:有的時候使用vim打開文件時,顯示的顏色不適合閱讀,可使用這條命令將配色改爲這種黑底我在gvim中使用了上面的方法進行了設定,可是貌似沒有起到做用,不知道是我使用得不對仍是另有緣由正則表達式
h
光標左移l(或空格鍵)
光標右移k(或[Ctrl+p])
光標上移j(或[Ctrl+n])
光標下移[Ctrl+f]
向前翻頁[Ctrl+b]
向後翻頁[Ctrl+d]
向前翻半頁[Ctrl+u]
向後翻半頁1G
跳到文件首40G
跳到第40行G
跳到文件尾[Ctrl+g]
顯示當前行號及文件的百分比Ctrl +E
scroll downCtrl +Y
scroll upB、E和W命令的做用與b、e和w的做用同樣,只是後者忽略了標點符號。shell
b
向後移動到單詞首e
向前移動到單詞尾w
向前移動到單詞首0
或| 移動到行首30|
移動到第30列^
移動到本行的第一個單詞的首字符$
移動到行尾: num
跳轉到指定行號i
在光標的左側插入字符20i-[Esc]
插入20個連字符I
在行首插入字符a
在光標的右側添加文本A
在行尾添加文本o
在當前行下面插入一空行O
在當前行上面插入一空行ve
:選擇整個單詞yw
:複製光標所在的單詞5yl
:複製5個字符的輸入x
刪除光標所在的字符6x
刪除光標位置的字符以及右側的5個字符X
刪除前一個字符dd
刪除當前行4dd
刪除4行dw
刪除一個單詞d0
刪除到行首d$
刪除到行尾d
刪除一個區域(只用於vim)p
把被剪切的文本粘貼到下面(整行)或右側(部分行)P
把被剪切的文本粘貼到上面(整行)或左側(部分行)add
把當前行粘貼到緩衝區a裏ap
把緩衝區a裏的內容粘貼到當前位置J
把當前行於下一行合併爲一行xp
調換兩個字符的位置(其實它是刪除一個字符,而後再又粘貼一個字符)[[
= 移動到前一個行首的{
字符上,等價於?^{
:其實就是查找上一個函數]]
= 移動到下一個行首的{
字符上,等價於/^{
:其實就是查找上一個函數[]
= 移動到前一個行首的}
字符上,等價於?^}
:用起來感受不是很方便][
= 移動到下一個行首的}
字符上,等價於?^}
:用起來感受不是很方便f
= 到前一個空行上g
= 到下一個空行上gd
= 到當前局部變量的定義處(當前的意思是光標停留其上的單詞).:使用以後全部與當前光標所在的單詞匹配上的單詞都高亮了gD
:跳轉到變量定義的地方*
= 到與當前單詞相同的下一個單詞上#
= 到與當前單詞相同的上一個單詞上''
= 到上次光標停靠的行%
:可讓光標移動到與他相匹配的括號上去:這個很是有用>
增長縮進,x>
表示增長如下x行的縮進<
減小縮進,x<
表示減小如下x行的縮進syntax enable
+ syntax on
打開語法高亮rch
把光標位置的字符替換爲chR
替換光標右邊的文本s
把光標所在的字符替換爲任意個字符S
替換整行內容cw
修改一個單詞c
修改區域裏的文本(vim)~
改變所掃描的或區域裏的字母的大小寫!tr'[a-z]''[A-Z]'
把區域裏的字母轉換爲大寫(vim)!tr'[A-Z]''[a-z]'
把區域裏的字母轉換爲小寫(vim)vim 從 vim7 開始加入了多標籤切換的功能, 至關於多窗口。以前的版本雖然也有多文件編輯功能, 可是總之不如這個方便啦。vim
:tabnew
[++opt選項] [+cmd] 文件 : 創建對指定文件新的tab:tabe
在一個新tab中打開指定的文件:tabc
關閉當前的tab:tabo
關閉全部其餘的tab:tabs
查看全部打開的tab:tabp
前一個:tabn
後一個標準模式下:安全
gt
, gT
能夠直接在tab之間切換:help table
:詳細用法請查看相關幫助文檔vim -d file1 file2
直接打開兩個文件對比vim file1
打開第一個文件,而後使用vert diffsplit file2
打開第二個文件進行對比;vert
表示垂直分割窗口,默認爲水平分割窗口diffthis
分別在兩個窗口輸入;[c
, ]c
定位不一樣點: 分別跳到前一個、後一個不一樣點;ctrl-w w
:窗口跳轉: 跳到下一個窗口ctrl-w h/l
: 跳到左側(右側)窗口ctrl-w j/k
跳到上方(下方)窗口dp
文檔合併:將差別點的當前文檔內容合併到另一個文檔(diff put)do
將差別點的另外一個文檔內容拷貝到當前文檔zo
臨時展開被摺疊的相同內容zc
從新摺疊yy
複製當前行6yy
複製六行yw
複製單詞y
複製區域(vim)p
把複製的文本粘貼到右邊或下面P
把複製的文本粘貼到左邊或上面"ayy
把當前行復制到緩衝區a裏"ap
恢復緩衝區a裏的內容vi +100 foo
打開文件foo並把光標定位在100行vi +/pat foo
打開文件foo並把光標定位在pat第一次出現的行vi +foo
打開文件foo,把光標定位在文件尾vi foo1 foo2
... 打開文件foo1,用n切換到foo2等vi -r foo
把交換文件裏的內容恢復到緩衝區裏vi -R foo
一隻讀模式打開foo文件:w
保存文件並繼續編輯:w bar
同微軟Windows操做系統中的「另存爲……」:w! bar
同上,可是覆蓋現存的文件bar:n1,n2w foo
把n1到n2之間的行保存到文件foo:n1,n2w>>foo
把n1到n2之間的行添加到foo文件尾:.w foo
把當前行保存到文件foo:$w foo
把最後一行保存到文件foo:x
保存並退出編輯器:wq
同上:q
若是文件的內容沒有變化則退出編輯器:q!
放棄修改並退出編輯器:E
:打開vim默認路徑的文件夾–
:到上級目錄D
:刪除文件(大寫)R
:改文件名(大寫)s
:對文件排序(小寫)x
:執行文件若是當前行尚未保存(而且 autowrite 未設置),則不能使用:e、:n和:rew命令。命令後面的!使得安全特性無效。編輯器
:e foo
中止對當前文件的編輯,開始編輯foo文件:e! foo
同上,可是取消對當前文件的修改:e!
裝入當前文件的最近保存的內容[Ctrl+^]
返回到最近編輯的文件:n
編輯下一個文件(當用vi同時編輯多個文件時):set autowrite(aw)
在用:n切換到下一個文件以前自動保存當前文件:rew
返回到文件列表的第一個文件(當用vi同時編輯多個文件時):r foo
把foo文件的內容插入當前行的下面:sq
把當前窗口拆分爲兩個:new
打開一個新的空白窗口:[Ctrl+w][Ctrl+w]
在窗口之間切換 Ctrl+w+R 將窗口移到右邊 Ctrl+w+L 將窗口移到左邊:on
把當前窗口變爲惟一的窗口:q
退出當前窗口:qa
退出全部窗口:xa
保存並退出所有窗口[Ctrl]+
增大窗口尺寸[Ctrl]-
減少窗口尺寸搜索模式pat能夠時一個字符串,也能夠是一個正則表達式。vi使用一套專用的字符序列來執行一行內的搜索。函數
/pat
向前搜索pat?pat
向後搜索pat/printf
向前搜索printf?[0-0]$
向後搜索行尾的數字/^#
向前搜索行首的#n
按上次搜索方向重複搜索N
按與前次搜索的相反方向重複搜索:set wrapscan(ws)
繼續搜索直至達到文件尾:set ignorecase(ic)
搜索時不區分大小寫:set magic
保留正則表達式字符的意義fc
在當前行向前搜索字符cFc
在當前行向後搜索字符c;
在當前行重複上次向前搜索,
在當前行重複上次逆向搜索*
:向下查找光標所在的單詞,相似於/
#
:向上查找光標所在的單詞,相似於?
源模式s1也能夠是正則表達式。使用歐冠地址時,"."表明當前行,"$"表明最後一行,"1,$"表明整個文件。this
:.s/s1/s2
把當前行中第一次出現的s1替換爲s2:1,$s/s1/s2
把整個文件裏的s1替換爲s2:1,$s/echo/printf/g
把所有的echo替換爲printf:1,$s/s1/s2/gc
按交互方式把所有s1替換爲s2:1,$s/#//g
刪除文件中全部的「#」:3,10s/^/#/g
在3至10行的行首插入「#」:$s/$/;/
在最後一行的行尾插入「;」:1,$s/s1/s2/g
把全部的s1替換爲s2:1,$s/HEAD/<&>/g
把全部的HEAD替換爲ma
設置一個標籤a'a
移動到標籤a"
在當前標誌與前一個標誌位置之間切換.
重複上次命令u
取消上次的編輯命令(在vim裏取消全部之前的命令)[Ctrl+r]
重作上次取消的操做(只限於vim)U
取消全部對當前行的操做"4p
從緩衝區中恢復第4次最近的刪除操做:ab name stg
把name縮寫爲stg:unab stg
刪除stg縮寫:ab
列出全部的縮寫:map key commands
把key映射到commands:map! key commands
在輸入模式下把key映射到commands:unmap key
取消命令模式下的key映射:unmap! key
取消輸入模式下的key映射:map
顯示命令模式下全部的映射:map!
顯示輸入模式下的全部映射:!cmd
執行UNIX的cmd命令:!%
把當前文件做爲shell或perl腳本執行:r !cmd
把cmd命令的結果插入到當前行的下面:r !head -n 3 foo
把foo文件前三行內容插入到當前行的下面sh
暫時退出UNIX shell 環境[Ctrl+z]
暫停編輯(用fg命令能夠返回vi編輯器):!cc%
編譯正在編輯的C程序:!javac %
編譯正在編輯的Java程序*.vim
複製到~/.vim/plugin中便可*.vmb
的插件:則首先須要使用vim將插件打開,而後使用命令:so %
進行安裝*.vba
的插件:首先使用vim打開插件,而後使用UseVimBall ~/.vim
進行安裝注意,每一種摺疊方式不兼容,如不能即用expr又用marker方式,我主要輪流使用indent和marker方式進行摺疊。
使用時,用:set fdm=marker 命令來設置成marker摺疊方式(fdm是foldmethod的縮寫)。
要使每次打開vim時摺疊都生效,則在.vimrc文件中添加設置,如添加:set fdm=syntax,就像添加其它的初始化設置同樣。操作系統