国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

VIM Script /VIML 腳本語言入門

piapia / 1111人閱讀

摘要:參考變量設置變量邏輯控制參考中的字符串和數字是可以直接比較的,如,返回函數參考函數名必須大寫開頭。但是如果重載當前的話,會遇到警告。返回當前文件的名字。所以我們才可以用這樣的命令來運行當前腳本。

參考:Learn Vimscript the Hard Way

變量
"設置變量
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中的字符串和數字是可以直接比較的,如:echo "3" >= 3,返回1.

Functions 函數

參考:Functions - Learn Vimscript the Hard Way

函數名必須大寫開頭。
function MyFunction()
    :wq
endfunction

但是如果重載當前vimrc的話,會遇到function already exists警告。
所以最好在將函數定義為可重寫的函數,即變為function!

function! MyFunction()
    :wq
endfunction
內置函數 has(..)

has("程序語言")

has("硬件架構")

has("xxx")

system(...)

system("rm /tmp/*")

buffer

bufnr("%"): 返回當前VIM中的buffer數量

autocmd 事件觸發器

參考非常棒的VIM官方文檔(中文翻譯):http://vimcdoc.sourceforge.ne...

格式為::au[tocmd] [group] {event} {pat} [nested] {cmd}
中文的話就是::au[tocmd] [組] {事件} {文件名規則} [nested] {命令}

如果命令比較復雜的話,建議創建function,然后在autocmd中call func()

常用技巧 獲取當前buffer的文件名、路徑、擴展名

參考:How can I see the full path of the current file?
參考:How do I get the name and extension of the current file?

都知道,VIM中%代表當前buffer,我們可以增加filename-modifiers來操作%得到buffer關聯的文件的相關信息。

Register %返回當前文件的名字。所以我們才可以用!python %這樣的命令來運行當前腳本。
VIM中,%還能做到很多的擴展:

: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 :!CMD %:p:h,這樣可以在按Ctrl-g時候,在當前文件所在的目錄執行CMD命令

“獲取路徑
echo expand("%:p")    "/home/mool/vim/src/version.c

"獲取文件全名
echo expand("%:t")   "version.c

"獲取文件名,不包括擴展名
echo expand("%:t:r")   "version

"獲取擴展名
echo expand("%:e")   "c
Multiple lines 換行

開頭,|結尾,即可連接多行為一行。

au Filetype ruby
             setlocal ts=2  |
             setlocal sts=2 |
             ...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25081.html

相關文章

  • 使用python寫vim插件

    摘要:原文地址有各種強大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言,還得益于它良好的接口實現,從而支持等語言編寫插件。當編譯時帶有特性時就能使用編寫插件,則支持,可以使用來查看的編譯特性。具體可以查看幫助參考如何用寫插件 原文地址 vim有各種強大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言vimL,還得益于它良好的接口實現,從而支持python等語言編寫插件。當vim編譯時帶...

    antz 評論0 收藏0
  • 使用python寫vim插件

    摘要:原文地址有各種強大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言,還得益于它良好的接口實現,從而支持等語言編寫插件。當編譯時帶有特性時就能使用編寫插件,則支持,可以使用來查看的編譯特性。具體可以查看幫助參考如何用寫插件 原文地址 vim有各種強大的插件,這不僅歸功于其提供的用來編寫插件的腳本語言vimL,還得益于它良好的接口實現,從而支持python等語言編寫插件。當vim編譯時帶...

    woshicixide 評論0 收藏0
  • 你也用Vim寫Java代碼?

    摘要:獻給所有曾試圖寫而痛苦掙扎的請不要害怕我也是你們的一員序文章源起于論壇中的一個問題由于回答的有點盡性便轉為文章題主應該是個初學者這里不對題主報有任何貶義的情感誰都是從初學過來的問題主要是如何在中編譯運行代碼勾起了我痛苦的回憶便借題發揮了更何 獻給所有曾試圖寫Java而痛苦掙扎的Vimers, 請不要害怕, 我也是你們的一員 序 文章源起于segmentfault論壇中的一個問題, 由于...

    helloworldcoding 評論0 收藏0
  • 你也用Vim寫Java代碼?

    摘要:獻給所有曾試圖寫而痛苦掙扎的請不要害怕我也是你們的一員序文章源起于論壇中的一個問題由于回答的有點盡性便轉為文章題主應該是個初學者這里不對題主報有任何貶義的情感誰都是從初學過來的問題主要是如何在中編譯運行代碼勾起了我痛苦的回憶便借題發揮了更何 獻給所有曾試圖寫Java而痛苦掙扎的Vimers, 請不要害怕, 我也是你們的一員 序 文章源起于segmentfault論壇中的一個問題, 由于...

    KitorinZero 評論0 收藏0
  • 讓人相見恨晚的vim插件:模糊查找神器LeaderF

    摘要:是什么是一個用寫的插件,可以在成千上萬數十萬個文件中,通過模糊查找的方式,快速找到目標文件。它還有很多衍生功能快速打開或定位某個最近使用的文件包括函數類變量等命令歷史文件中的某一行的等等。友情鏈接,也許是最好的模糊查詢插件 提到vim的模糊查找插件,很多人第一反應是ctrlp.vim,ctrlp知名度很高,但跟其它的同類插件相比,它的唯一優點是用vimL編寫(這讓它的性能是所有同類插件...

    Near_Li 評論0 收藏0

發表評論

0條評論

piapia

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<