新しいタブでctagsエントリを開くためのプラグインまたはスクリプトはありますか?関数の上にカーソルを置き、を押しctrl+]て別のタブでエントリを開きたいのですが。ctrl+]また、エントリを視覚的に選択して、引き続き機能し、新しいvimタブで開くようにしたいと思います。
25222 次
4 に答える
100
あなたはできる
C-wC-]C-wT
その効果を達成するために
次に、それをマッピングすることもできます。
:nnoremap <silent><Leader><C-]> <C-w><C-]><C-w>T
編集:また、実際に必要なものに応じて 、たとえば、プレビュー()でタグを開くことができることを忘れないでください。念のために言及するだけです...:ptag
C-w}
于 2011-05-20T08:35:23.817 に答える
6
これが2つのかなりアドホックなマッピングです(タグがによって生成された場合ctags
):
nnoremap <C-]> :tabnew %<CR>g<C-]>
vnoremap <C-]> <Esc>:tabnew %<CR>gvg<C-]>
まず、新しいタブで現在のバッファを開きます。次に、カーソルの下のタグにジャンプしようとします(g<C-]>
に等しい:tjump
、一致するものが1つしかない場合はタグに直接ジャンプするか、一致するものが多い場合は一致のリストを提供します)。
長所:
- 「私のマシンで動作します」©
短所:
- いずれも選択せずに一致リストを終了すると、新しく作成されたタブは開いたままになります
- 一致するものがまったくない場合も同じことが起こります
PSビジュアルモードマッピングのユースケースを提供できますか?
PPS cscope(よりも優れているctags
)でタグを生成し、そのvimマッピングを使用する場合は、上記のマッピングを次のマッピングに置き換えます。
nnoremap <C-]> :tabnew %<CR><C-]>
vnoremap <C-]> <Esc>tabnew %<CR>gv<C-]>
于 2011-07-28T21:16:47.730 に答える
3
誰かがまだ解決策を探している場合に備えて。このソリューションでは、タグが見つからない場合、空白のタブは残りません。
function! w:GoToTag(tagWord)
let l:tagfile = &tags
:tabe
execute 'set tags=' . l:tagfile
execute ':silent tjump ' . a:tagWord
let l:tagFilename = expand('%:t')
if l:tagFilename == ''
:tabclose
:tabprevious
endif
endfunction
于 2014-01-10T01:23:13.880 に答える
3
〜/ .vimrcで、次のようにキーボードショートカット「g」の後にCONTROL-]を設定できます。
nmap g<C-]> :execute 'tab tag '.expand('<cword>')<CR>
nmap means 'when in normal mode'
g<C-j> is the shortcut, 'g' followed by CTRL-]
execute is a means of executing a command passed as a string
tab tag means "open a new tab and run 'ta'"
expand is used to expansion of a vim item
<cword> means a word the same as used for '*'. See also <cWORD>
:tabtagfunctionnameを介して「tabta」をテストできます
于 2019-06-19T04:00:13.747 に答える