摘要:參考變量設(shè)置變量邏輯控制參考中的字符串和數(shù)字是可以直接比較的,如,返回函數(shù)參考函數(shù)名必須大寫開頭。但是如果重載當(dāng)前的話,會遇到警告。返回當(dāng)前文件的名字。所以我們才可以用這樣的命令來運(yùn)行當(dāng)前腳本。
參考:Learn Vimscript the Hard Way
變量"設(shè)置變量 let myVariable = 1 let myString = "Hello"邏輯控制
參考:Comparisons - Learn Vimscript the Hard Way
if-else:
if 3 >= 1 echo "True" elseif 3 < 4 echo "True again" elseif 3 == 3 echo "True true" else echo "False" endif
VIM中的字符串和數(shù)字是可以直接比較的,如:echo "3" >= 3,返回1.
Functions 函數(shù)參考:Functions - Learn Vimscript the Hard Way
函數(shù)名必須大寫開頭。
function MyFunction() :wq endfunction
但是如果重載當(dāng)前vimrc的話,會遇到function already exists警告。
所以最好在將函數(shù)定義為可重寫的函數(shù),即變?yōu)?b>function!:
function! MyFunction() :wq endfunction內(nèi)置函數(shù) has(..)
has("程序語言")
has("硬件架構(gòu)")
has("xxx")
system(...)system("rm /tmp/*")
bufferbufnr("%"): 返回當(dāng)前VIM中的buffer數(shù)量
autocmd 事件觸發(fā)器參考非常棒的VIM官方文檔(中文翻譯):http://vimcdoc.sourceforge.ne...
格式為::au[tocmd] [group] {event} {pat} [nested] {cmd}
中文的話就是::au[tocmd] [組] {事件} {文件名規(guī)則} [nested] {命令}
如果命令比較復(fù)雜的話,建議創(chuàng)建function,然后在autocmd中call func()。
常用技巧 獲取當(dāng)前buffer的文件名、路徑、擴(kuò)展名參考:How can I see the full path of the current file?
參考:How do I get the name and extension of the current file?
都知道,VIM中%代表當(dāng)前buffer,我們可以增加filename-modifiers來操作%得到buffer關(guān)聯(lián)的文件的相關(guān)信息。
Register %返回當(dāng)前文件的名字。所以我們才可以用!python %這樣的命令來運(yùn)行當(dāng)前腳本。
VIM中,%還能做到很多的擴(kuò)展:
:echo @% |" directory/name of file :echo expand("%:p") |" full path "PATH" :echo expand("%:p:h") |" directory containing file "HEAD" :echo expand("%:t") |" full name of file "TAIL" :echo expand("%:t:r") |" Only name of file "ROOT" :echo expand("%:e") |" Only extension of file "EXTENSION"
我們在vimrc中使用的時候,可以省略echo和expand。比如:
nnoremap
“獲取路徑 echo expand("%:p") "/home/mool/vim/src/version.c "獲取文件全名 echo expand("%:t") "version.c "獲取文件名,不包括擴(kuò)展名 echo expand("%:t:r") "version "獲取擴(kuò)展名 echo expand("%:e") "cMultiple lines 換行
以開頭,|結(jié)尾,即可連接多行為一行。
au Filetype ruby setlocal ts=2 | setlocal sts=2 | ...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25081.html
摘要:原文地址有各種強(qiáng)大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言,還得益于它良好的接口實(shí)現(xiàn),從而支持等語言編寫插件。當(dāng)編譯時帶有特性時就能使用編寫插件,則支持,可以使用來查看的編譯特性。具體可以查看幫助參考如何用寫插件 原文地址 vim有各種強(qiáng)大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言vimL,還得益于它良好的接口實(shí)現(xiàn),從而支持python等語言編寫插件。當(dāng)vim編譯時帶...
摘要:原文地址有各種強(qiáng)大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言,還得益于它良好的接口實(shí)現(xiàn),從而支持等語言編寫插件。當(dāng)編譯時帶有特性時就能使用編寫插件,則支持,可以使用來查看的編譯特性。具體可以查看幫助參考如何用寫插件 原文地址 vim有各種強(qiáng)大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言vimL,還得益于它良好的接口實(shí)現(xiàn),從而支持python等語言編寫插件。當(dāng)vim編譯時帶...
摘要:獻(xiàn)給所有曾試圖寫而痛苦掙扎的請不要害怕我也是你們的一員序文章源起于論壇中的一個問題由于回答的有點(diǎn)盡性便轉(zhuǎn)為文章題主應(yīng)該是個初學(xué)者這里不對題主報有任何貶義的情感誰都是從初學(xué)過來的問題主要是如何在中編譯運(yùn)行代碼勾起了我痛苦的回憶便借題發(fā)揮了更何 獻(xiàn)給所有曾試圖寫Java而痛苦掙扎的Vimers, 請不要害怕, 我也是你們的一員 序 文章源起于segmentfault論壇中的一個問題, 由于...
摘要:獻(xiàn)給所有曾試圖寫而痛苦掙扎的請不要害怕我也是你們的一員序文章源起于論壇中的一個問題由于回答的有點(diǎn)盡性便轉(zhuǎn)為文章題主應(yīng)該是個初學(xué)者這里不對題主報有任何貶義的情感誰都是從初學(xué)過來的問題主要是如何在中編譯運(yùn)行代碼勾起了我痛苦的回憶便借題發(fā)揮了更何 獻(xiàn)給所有曾試圖寫Java而痛苦掙扎的Vimers, 請不要害怕, 我也是你們的一員 序 文章源起于segmentfault論壇中的一個問題, 由于...
摘要:是什么是一個用寫的插件,可以在成千上萬數(shù)十萬個文件中,通過模糊查找的方式,快速找到目標(biāo)文件。它還有很多衍生功能快速打開或定位某個最近使用的文件包括函數(shù)類變量等命令歷史文件中的某一行的等等。友情鏈接,也許是最好的模糊查詢插件 提到vim的模糊查找插件,很多人第一反應(yīng)是ctrlp.vim,ctrlp知名度很高,但跟其它的同類插件相比,它的唯一優(yōu)點(diǎn)是用vimL編寫(這讓它的性能是所有同類插件...
閱讀 2983·2023-04-26 02:04
閱讀 1290·2021-11-04 16:07
閱讀 3717·2021-09-22 15:09
閱讀 687·2019-08-30 15:54
閱讀 1909·2019-08-29 14:11
閱讀 2537·2019-08-26 12:19
閱讀 2264·2019-08-26 12:00
閱讀 767·2019-08-26 10:27