Vim Script 取得目前的文字 與 檔案類型(vimrc)

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>

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix 並標籤為 , , , , , , , , 。將永久鏈結加入書籤。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料