vimでカーソル位置の単語を取得

  • カーソル位置の単語

http://www15.ocn.ne.jp/~tusr/vim/vim_text2.html#mozTocId636263

  • Vim6スクリプトお勉強スレ

http://pc8.2ch.net/test/read.cgi/unix/1008558940/

111 名前:1[] 投稿日:02/01/15 23:22
foo.vim解読の続き。
ちなみにfoo.vimとはこれのことです。
http://vim.sourceforge.net/scripts/script.php?script_id=72

キーワードからパターンを剥いでタグにジャンプするスクリプト

例えば、
nmap  :call StripTag("Hello")
と定義しておくと HelloWorld という単語の上で C-] した時、HelloWorld の Hello
の部分が削除されて残った World でタグジャンプしてくれる!
・・・これがどんな時に役に立つのかよくわからないけど。

nmap  :call StripTag("xxx")
fun! StripTag(pattern)
 let keyword = expand("")
 if keyword =~ '^' . a:pattern
  execute "tag!" . substitute(keyword, a:pattern, "", "")
 else
  execute "normal! \"
 end
endfun

expand("") はカーソル位置の単語(キーワード)を返す。
指定パターンがキーワードの先頭からヒットしたらヒットした部分を消してタグジャンプ。
autowrite オプションを有効にしておくと tag 実行時に自動的にカレントのファイル
が保存されるけど、tag! にすると保存されない。
パターンがヒットしなかったら通常の  を呼ぶと。