站內(nèi)搜索
電腦軟件
編輯推薦
本類下載榜
總下載排行
軟件簡介
Vim編輯器是一款功能強大、高度可定制的文本編輯器,Vim編輯器擁有文件合并、鼠標集成、拼寫檢查、語法突出顯示、代碼補全、編譯及錯誤跳等豐富功能,而且還支持各種編輯命令組合,可以幫助用戶更加高效的進行文本編輯,而且它還有強大的可擴展性,能夠給使用者帶來一種不一樣的書寫快感。
Vim是一個類似于Vi的著名的功能強大、高度可定制的文本編輯器,在Vi的基礎(chǔ)上改進和增加了很多特性。代碼補全、編譯及錯誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用,和Emacs并列成為類Unix系統(tǒng)用戶最喜歡的文本編輯器。
vim的設(shè)計理念是命令的組合。用戶學習了各種各樣的文本間移動/跳轉(zhuǎn)的命令和其他的普通模式的編輯命令,并且能夠靈活組合使用的話,能夠比那些沒有模式的編輯器更加高效的進行文本編輯。同時VIM與很多快捷鍵設(shè)置和正則表達式類似,可以輔助記憶。并且vim針對程序員做了優(yōu)化。
Vim是一個超級超級強大的文本編輯器。它和Emacs是一個數(shù)量級;而我認為,比UltraEdit、Editpad、EmEditor要高一個(至少半個數(shù)量級)。
在領(lǐng)略了vim的強大后,我不禁被深深吸引住了。但我發(fā)現(xiàn)并不是所有的電腦都裝有vim,于是制作了一個單文件綠色版的vim編輯器。放在U盤里,隨身攜帶,去到哪里用到那里。添加了史上最強的vim配置,幫助文件替換成了中文,配色計劃我替換成slate,更適合編輯。
我使用vim時間也不長,只會一些簡單的命令。平常寫工具,看文檔都是用vim,我發(fā)覺我越來越喜歡它了。真心希望能有更多的人一起學習vim,充分享受神一樣的編輯器給我們帶來另一種書寫的快感。
一.普通人的編輯利器
之所以第一點就提到這個,是因為”文字處理”當然是一個編輯器最基本的功能,而能把編輯的體驗發(fā)揮到極致的也恐怕只有vim而已了。
1.
用戶再也不用去網(wǎng)上辛苦的D版了!
2.提高輸入速度
這個相信也沒有什么好爭論的,純鍵盤操作的速度是鼠標無法比擬的,雖然會帶來一定的學習成本,但是相信還是值得的。
3.完美支持中文,并支持多種文件編碼
很多編輯器會有處理多字節(jié)編碼的問題,而vim完美解決了這一點。(如果你的vim沒解決,請參考linux下vim的編譯以及終端亂碼的最終解決計劃)
4.文本筆記管理
這要歸功于vim的一款插件:voom
二.程序員的編輯利器
如果你是一名程序員,那就千萬不要錯過vim,它真的為程序員提供了太多貼心的功能。
1.支持幾乎所有語言類型
不夸張的說,vim真的是將這一點做到了極致,只要是大家知道的語言,大到c++,python,小到bash,sql,vim全部都默認支持了這些語言 的語法高亮,自動縮進,等等。一個編輯器搞定所有源碼編寫,不用為每門語言學習他的編輯器,降低學習成本,何樂而不為?
2.支持各種語言的代碼自動補全和智能提示
3.快速查找函數(shù)定義功能及顯示函數(shù)列表功能
vim+tags+taglist即可輕松實現(xiàn)上面的功能,功能上完全可以替代si或者vs.
4.支持類似textmate的代碼片段功能
我目前使用的是snipMate,當然提供這種功能的插件可不只這一個,你可以有更多選擇~
5.集成編譯調(diào)試功能,快速定位編譯錯誤
vim提供了quickfix的功能,可以集成gcc,g++,java,c#,python,php等各種語言的錯誤定位功能,極大提高了代碼編譯調(diào)試時的錯誤定位。
6.開源
如果發(fā)現(xiàn)vim有bug,那么大可以自己去研究代碼修復(fù)~
7.跨平臺
在linux,windows,mac等多平臺都有相應(yīng)的版本,不用擔心跨平臺開發(fā)的問題!
8.支持插件,擴展自己想要的功能
vim本身有自己的腳本語言,如果你真的不想再多學一門語言,那也不是什么大事,gvim7.3已經(jīng)默認編譯支持了 python,ruby,lua,perl等等腳本語言,用你喜歡的腳本語言開發(fā)去吧!與emacs的lisp相比,如果vim 自身的腳本語言確實有所欠缺,但是python較之lisp恐怕就是旗鼓相當甚至更勝一籌了吧
根據(jù)設(shè)定可以和原始vi完全兼容
多緩沖編輯、多tab編輯
任意個數(shù)的分割窗口(橫,豎)
vim7開始,支持多種數(shù)據(jù)類型,比如具備列表和字典功能、以及(簡單形式)面向?qū)ο缶幊痰哪_本語言vim script,對功能進行高度定制化。
可以在腳本中調(diào)用 Perl, Ruby, Python, Tcl, MzScheme ,C,C++
單詞縮寫功能
動態(tài)單詞補全
多級樹狀撤銷和重做操作
對應(yīng)550種以上文本文件的語法高亮
Shell,Lisp,C/C++, Perl, Java, Ruby, Python 等40種以上語言的自動縮排
利用ctags的標簽中跳轉(zhuǎn)
崩潰后文件恢復(fù)
光標位置和打開的緩沖狀態(tài)的保存、復(fù)原(session功能)
可以對兩個文件進行差分,同步功能的diff模式
遠程文件編輯 。
vim 8.0新增功能
支持異步 I/O 和通道(channels)、JSON
多任務(wù)
定時器
Partial、Lambda 和閉包
插件包管理
根據(jù)時間戳合并viminfo
Windows用戶:支持 DirectX
支持 GTK+ 3
高效率移動
在插入模式之外基本上來說,盡可能少的呆在插入模式里面,因為在插入模式里面 VIM 就像一個“啞巴”編輯器一樣。 VIM 的強大之處在于他的命令模式!
使用 h、j、k、l
使用 VIM 高效率編輯的第一步,就是放棄使用箭頭鍵。使用 VIM就不用頻繁的在箭頭鍵和字母鍵之間移來移去了,這會節(jié)省很多時間。當命令模式時,可以用 h、j、k、l 來分別實現(xiàn)左、下、上、右箭頭的功能。 [2]
在當前行里面有效的移動光標
很多編輯器只提供了簡單的命令來控制光標的移動(比如左、上、右、下、到行首/尾等)。VIM 則提供了很多強大的命令來滿足控制光標的欲望。當光標從一點移動到另外一點,在這兩點之間的文本(包括這兩個點)稱作被“跨過”,這里的命令也被稱作是 motion。
在整個文件里面有效移動光標
VIM 有很多命令,可以用來到達文件里面你想到達的地方。
高效的輸入
使用關(guān)鍵詞自動完成
VIM 有一個非常漂亮的關(guān)鍵詞自動完成系統(tǒng)。使用關(guān)鍵詞自動完成功能,只需要輸入開始幾個字母(比如 iAmAL),然后按(按住 Ctrl,再按 N)或者。如果 VIM 沒有給出你想要的詞,繼續(xù)按,直到你滿意為止,VIM 會一直循環(huán)它找到的匹配的字符串。
聰明的進入插入模式
VIM 提供了很多進入插入模式的命令。
有效的移動大段的文本
使用可視選擇(visual selections)和合適的選擇模式。不像最初的 VI,VIM 允許你高亮(選擇)一些文本,并且進行操作。
在可視選擇模式下剪切和拷貝
粘貼
粘貼很簡單,按 p。
使用多重剪貼板
很多編輯器都只提供了一個剪貼板。VIM 有很多。剪貼板在 VIM 里面被稱為寄存器(Registers)。你可以列出當前定義的所有寄存器名和它們的內(nèi)容,命令為“:reg”。最好使用小寫字母來作為寄存器的名稱,因為大寫的有些被 VIM 占用了。
避免重復(fù)
在 VI 里面,輸入 . (小數(shù)點符號),將會重復(fù)輸入的上一個命令。
使用數(shù)字也是 VIM 強大的而且很節(jié)省時間的重要特性之一。在很多 VIM 的命令之前都可以使用一個數(shù)字。
Vim有許多有用的功能,可以與現(xiàn)代文本編輯器競爭,如Sublime Text,Atom,UltraEdit或jEdit。它們包括支持正則表達式的搜索,輕松重復(fù)命令的能力,直接記錄和執(zhí)行宏,自動完成,文件合并,鼠標集成,拼寫檢查,語法突出顯示,分支撤消/重做歷史,支持流行網(wǎng)絡(luò)協(xié)議和文件存檔格式等。
雖然Vim的功能令人印象深刻,但其真正的優(yōu)勢在于其可擴展性。 Vim有自己的腳本語言,稱為Vim腳本(也稱為vimscript或VimL),用戶可以通過多種方式使用它來增強Vim,例如為其他編程語言啟用語法高亮,自動化語法檢查或?qū)im與其他應(yīng)用程序和服務(wù)。
大多數(shù)經(jīng)驗豐富的Vim用戶很難想象在沒有任何腳本的情況下使用文本編輯器,并且有很多可供選擇。 Vim Awesome是世界上最大的Vim腳本目錄之一,其中包含超過18,000個。一些最值得注意的Vim腳本包括vim-multiple-cursors,它允許您創(chuàng)建多個選擇,NERDTree,它在側(cè)面板中顯示交互式文件樹視圖,以及Emmet,一個強大的HTML,CSS和JavaScript完成工具。
除了可擴展性之外,Vim還具有高度可配置性,包含Vim核心全局設(shè)置(稱為vimrc)的文件可以在各個Vim安裝之間分享。如果您不想在閑暇時間搞亂設(shè)置和編輯配置文件但仍希望充分發(fā)揮Vim的優(yōu)勢,可以從互聯(lián)網(wǎng)上許多現(xiàn)成配置文件中的一個,或者使用Vim等工具創(chuàng)建一個配置。
fx:移動光標到當前行的下一個 x 處。很明顯,x 可以是任意一個字母,而且你可以使用 ; 來重復(fù)你的上一個 f 命令。
tx:和上面的命令類似,但是是移動到 x 的左邊一個位置。(這真的很有用)
Fx:和 fx 類似,不過是往回找。使用 , 來重復(fù)上一個F命令。
Tx:和 tx 類似,不過是往回移動到 x 的右邊一個位置。b:光標往前移動一個詞。
w:光標往后移動一個詞。
0:移動光標到當前行首。(是數(shù)字0)
^:移動光標到當前行的第一個字母位置。
$:移動光標到行尾。
):移動光標到下一個句子。
( :移動光標到上一個句子。
VIM 有很多命令,可以用來到達文件里面你想到達的地方。下面是一些在文件里面移動的命令:
:向下移動一屏。
:向下移動半屏。
:向上移動一屏。
:向上移動半屏。
G:到文件尾
numG:移動光標到指定的行(num)。(比如 10G 就是到第 10 行)
gg:到文件首H:移動光標到屏幕上面
M:移動光標到屏幕中間
L:移動光標到屏幕下面
*:讀取光標處的字符串,并且移動光標到它再次出現(xiàn)的地方。
#:和上面的類似,但是是往反方向?qū)ふ摇?/p>
對于各位聰明的朋友們,我就不給大家說怎么vim編輯器了。相信你們在看這篇日志前就已經(jīng)好vim了。好了,讓我們一起來看看vim吧。首先我們打開vim編輯器。
哇,這是什么呀,長的好奇怪呀~怎么看都沒有word,記事本等熟悉好用呀~別急讓我們慢慢來。
這事你激動的想要輸入工具呀。。可以我們怎么點擊鍵上的字母,我們就是無法輸入 ,是不是我用錯輸入法了呀~結(jié)果我們切換了輸入法后還是無法輸入 。。
好傷心呀,我怎么連一個字也輸入不進去呀,不要急喲~
跟著我來,點擊鍵盤上的Insert鍵(就是Home左邊的鍵),這時我們的vim編輯器變了,試著敲了下鍵盤也能輸入文字了~
在這里簡單解答一下,剛進入vim時vim的模式是Normal mode,當我們想輸入文字時我們可以切換成Insert mode。做法就是點擊鍵盤上的Insert鍵。這樣我們可以輸入文字了,當我們想退出Normal mode時我們只需點擊鍵盤上的ESC鍵
而且左下角會顯示--插入--
好了現(xiàn)在你已經(jīng)知道 怎么在Insert mode和Normal mode之間進行切換了。下面讓們學習幾條命令吧。
在Normal mode下我們用下面的幾條命令可以讓我們很快的進入狀態(tài)~
i → Insert 模式,按 ESC 回到 Normal 模式.
x → 刪當前光標所在的一個字符。
:wq → 存盤 + 退出 (:w 存盤, :q 退出) (注:w 后可以跟文件名,沒有文件名是不可以保存的)
dd → 刪除當前行,并把刪除的行存到剪貼板里
p → 粘貼剪貼板
大家一定要認真練習。多多嘗試。
vim編輯器之再識命令:
在上一節(jié)中,我們簡單的認識了下vim我們可以通過vim進行的文字編寫,和保存寫好的文檔。
在這里再說一下上節(jié)文件保存的命令 :wq 這里是文件名
從程序的上角可以發(fā)現(xiàn)這個文件沒有命名。我們在里面敲一段代碼 ,之后 我們保存其為hello.c 。。
注意:命令模式只能在Normal mode 下使用
我們在vim啟動程序所在目錄下,我們看到了我們剛剛保存的hello.c
好了,上節(jié)的內(nèi)容我們就說到這里。下面進入下一節(jié)。
首先我在這里先說幾點概念,vim中的所有命令都是在Normal mode 下使用的。
在windows 下我們已經(jīng)習慣了ctrl+x鍵為功能鍵的情況,比如我們要復(fù)制就可以用ctrl + c ,我們要全選我們就要使用ctrl + a .而在vim下所有的鍵在Normal mode下都是命令,這一點我們一定要深入理解。
若想知道當前使用的什么mode 我們可以看下程序左下角的文字提示,如果不懂,就多按幾次Esc鍵,這們我們就回到了Normal mode 下。在Normal mode 下我們可以使用我們想使用的任何命令。
我繼續(xù)用剛剛說的hello.c為例來進行說明。
首先我們要熟悉使用hjkl這幾個功能鍵,這幾個鍵是用來移動光標的,當然你也可以使用↑↓←→但是我還是比較推薦hjkl這幾個
h是左方向鍵←
j是下方向鍵↓ 有沒有發(fā)現(xiàn)j有點像↓
k是上方向鍵↑
l是右方向鍵→
好了希望大家多敲點文字來練習使用hjkl希望大家練習的時間在5分鐘以上。
因為只有熟悉才能生巧。
注意練習的時候 ,光標是進行移動 的
好了再讓我們學習一些命令吧,我們知道可以由Normal mode進入Insert mode .vim有多種Insert mode,就讓我們一起來認識了解下吧。這也是我們這節(jié)課的核心,每天我們只學習一點,這樣我們每天就會有進步,不要貪多,熟能生巧。
a → 在光標后插入
o → 在當前行后插入一個新行 這個是小寫的英文o
O → 在當前行前插入一個新行 這個是大寫的字母O
cw → 替換從光標所在位置后到一個單詞結(jié)尾的字符
這幾種插入命令都是在Normal mode下使用的。
無論選擇上面的哪 一種我們都進入了Insert mode 如果我們要使用其它的Insert mode 我們需要先用Esc返回到Normal mode。
希望大家多練習下,最起碼一個命令二遍吧,下節(jié)課開始的時候 ,我還要當大家練習 些命令。
vim編輯器之移動光標:
先學習兩個簡單的。一個是數(shù)字0一個是$美元符號
0 → 數(shù)字零,到行頭
$ → 到本行行尾 n$:移動到第n行的行尾
要注意喲所有的命令都是要在normal mode下使用的。
打$符號的時候不要忘記使用shift鍵喲~
^ → 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)
%:移動到與制匹配的括號上去(),{},[],<>等。
nG:移動到第n行上 G:到最后一行
/pattern → 搜索 pattern 的字符串(注:如果搜索出多個匹配后,需要要在搜索到文件末尾后,可按n鍵到下一個)
當然第一節(jié)我們說的hjkl光標移動命令也應(yīng)該屬于這一節(jié)的內(nèi)容 ,但是這幾個相對簡單,在這里就不多說了。當然還有很多的光標移動命令,在這里我也貼出來大家看看
w:光標以單詞向前移動 nw:光標向前移動n個單詞 光標到單詞的第一個字母上b:與w相反e: 光標以單詞向前移動 ne:光標向前移動n個單詞 光標到單詞的最后一個字母上ge:與e相反
f:移動光標到當前行的字符a上,nf移動光標到當前行的第n個a字符上F:相反
%:移動到與制匹配的括號上去(),{},[],<>等。
nG:移動到第n行上 G:到最后一行
CTRL+G 得到當前光標在文件中的位置
向前翻頁:CTRL+F向下移動半屏:CTRL+G
向后翻頁:CTRL+B
當然這些命令我們很多都不需要使用,不過你也可以嘗試練習下。。
學習vim編輯器之拷貝與粘貼:
如果我們使用的是ctrl + c進行復(fù)制的,那么我們也要用ctrl+v進行粘貼 。
親測,如果使用p命令粘貼會無效 ,而ctrl+v粘貼是從粘貼在光標后粘貼后的。
好了,說話在vim我們常用的復(fù)制與粘貼命令。
注意粘貼命令是:P → 粘貼,p我們可以理解為paste或者put把內(nèi)容放在了當前光標后
在這里我們講兩個單詞方便我們記憶:yank是復(fù)制,delete是刪除,所以我們看到在常用的復(fù)制命令前都帶有y,而在刪除命令前都帶有d
還有看到?jīng)],y后的一個命令是和光標移動有關(guān)的。是不是很容易 記呀,下面就讓我們多練習吧。
yw 表示拷貝從當前光標到光標所在單詞結(jié)尾的內(nèi)容 y0 表示拷貝從當前光標到光標所在行首的內(nèi)容 y$ 表示拷貝從當前光標到光標所在行尾的內(nèi)容 yfa 表示拷貝從當前光標到光標后面的第一個a字符之間的內(nèi)容。a是可以替換的,它可以是b,c,d,e,f,g等26個英文字母中的任意一個。
特殊地: yy 表示拷貝光標所在行
把自己復(fù)制的刪除吧。
dw 表示刪除從當前光標到光標所在單詞結(jié)尾的內(nèi)容
d0 表示刪除從當前光標到光標所在行首的內(nèi)容 d$ 表示刪除從當前光標到光標所在行尾的內(nèi)容 dfa 表示刪除從當前光標到光標后面的第一個a字符之間的內(nèi)容 特殊地 dd 表示刪除光標所在行. D 表示刪除從當前光標到光標所在行尾的內(nèi)容.
再說兩個命令配合上面的命令一起練習 ,
一個是u 就是undo。。中文來說就是撤銷
一個ctrl+R是大寫的R,是redo 中文來說就是繼續(xù)做
學習vim之打開保存退出文件:
vim之打開文件
命令為:e
不過我們?nèi)绻幌胼斎脒^多的路徑一般我們還是找到一個文件,然后右鍵選擇edit with vim選項,畢竟我們是在windows下使用vim。windows的可視化操作還是比較好的。
vim之保存文件
:w 文件名并回車。注意空格喲~
當然:wq 文件名并回車是保存并退出(這里也有一點組合命令的意思。希望大家好好體會,對于組合命令,我專門抽一篇內(nèi)容來寫。
保存之前程序左上角是未命名的。
我們測試文件名為vim.txt
點擊回車后,會出現(xiàn)下面的內(nèi)容,告訴你已經(jīng)保存了多少行,和多少列,還有程序左上角會出現(xiàn)我們文件的名字vim.txt(這里是以vim.txt為例)
我們可以在vim中建立多個文件,用來切換多個文件命令是:bn或者:bp。
在這里我新建一個vim2.txt然后我用:bn來切換這兩個文件。
Vim編輯器的撤銷與恢復(fù)撤銷操作:
首先,我們準備一個已經(jīng)有內(nèi)容的文檔,查看文檔內(nèi)容:
cat a.txt
我們使用vim修改該文檔內(nèi)容
按下Esc,回到命令模式
按下u,可以發(fā)現(xiàn)剛剛新加的內(nèi)容全部消失了,vim編輯器底部還會顯示“4 行被去掉的操作提示”,這就是撤銷操作。
現(xiàn)在我們回復(fù)到撤銷前的內(nèi)容,按下ctrl+r
可以看到剛剛被我們撤掉的四行內(nèi)容又回來了,而且vim編輯器底部會顯示“4 行被加入的操作提示”,這就是恢復(fù)撤銷操作。
vim編輯器之vim超能力移動光標:
查看Visio繪圖_Visio Viewer 2007簡體中文版【打開.VSD后綴的Visio文檔】
合同生成大師2.0中文特別版【提供格式規(guī)范的十六大類合同范本】
DWG轉(zhuǎn)PDF格式_DWG to PDF Converter MX V4.0英文綠色特別版
TXT文件合并器LB綠色專業(yè)版【合并txt文件、速度很快哦】
Notepad++ (文本編輯器) 7.5.6 中文綠色便攜版
多行批量字符替換器v1.10綠色版
博點簽名(免費簽名設(shè)計)v1.1綠色授權(quán)版【讓您的簽名和明星樣漂亮】
免費簽名設(shè)計工具_qugishi 4.0 live漢化免注冊綠色版
Notepad2記事本 x64 7.5.1 漢化綠色版
高品質(zhì)英文校對改錯軟件_WhiteSmoke 2010完美英文特別版
文本字符批量替換專家v2.1綠色版_在文件首尾批量添加字符
十六進制文件編輯器|TTHexEdit V1.0簡體中文綠色版
DWG to WMF Converter MX (DWG轉(zhuǎn)WMF) v5.6.8 綠色特別版
數(shù)據(jù)對比助手(兩表對比小工具)v1.6簡體中文綠色版
字符替換器v1.01綠色版【批量字符替換工具、支持很多類型文件】
亂碼察看器2.60漢化綠色版【能查看各種亂碼】