Vim 想要將某個字自動切割、選取,然後丟去給字典或其它功能查詢,預設有 keywordprg 可以使用(詳見:文字介面字典結合 vim),不過這個已經用在查詢字典,想要自己額外再做其它功能,就需要選取與檔案類型的判斷,Vim 要怎麼做到呢?
Vim Script 取得目前的文字 與 檔案類型(file-type)
Vim 在 : 命令列直接執行、vimrc 和 Function 裡面的寫法有些不同,所以下述分別列出幾種作法:
下述使用 F2 來當快速鍵
於 : 命令列取得 目前文字 與 檔案類型
- :echo expand("") # 取得目前游標位置的文字
- :set filetype # 查看目前檔案類型
- :echo &filetype # 取得目前的檔案類型
- map :!echo =expand("") # 於 vimrc 設定 F2 印出目前游標的文字
- 註:於 vim 可以用 :help expand 可以查看更多的參數
於 Vim Function 取得目前文字、檔案類型 與 使用執行的方式
- 於 Vimrc 的變數抓取方式
- 游標目前文字:expand("")
- 檔案類型:&filetype
於 .vimrc 寫的 Function 範例 如下述:(此 Function 是 echo 印出 file-type 和 游標目前的字)
function! ExampleFunction()
let my_filetype = &filetype
let current_word = expand("<cword>")
"echo my_filetype
"echo current_word
execute ":!echo /".my_filetype."/ ".current_word
endfunction
map <F2> :call ExampleFunction()<cr>