tabeで開いているファイルはそのタブにジャンプする
tabeで開いているファイルはそのタブにジャンプする
こんな感じで,どんどん同じファイルが別タブで増えるのが嫌だったけど情報か見つからなかったので, vimrcを書きました
中身
これを$MYVIMRC
にコピペすればtabeでできるはず
command! -nargs=1 -complete=file Tabe call MyTabEdit(<f-args>)
function! MyTabEdit(...) abort
let l:sbuf = &switchbuf
if bufexists(a:1)
let l:bufnr = bufnr(a:1)
if l:bufnr is bufnr("%")
" いま開いているなら何もしない
return
endif
for i in range(tabpagenr('$'))
let l:bufs = tabpagebuflist(i+1)
for j in l:bufs
if j is l:bufnr
" 別タブで開いているならsbufferで飛ぶ
set switchbuf=usetab
execute "sbuffer" j
let &switchbuf = l:sbuf
return
endif
endfor
endfor
" 見えていないバッファなら, 別タブで開く
execute "tab split" a:1
else
" バッファがなければ開く
execute "tabe" a:1
endif
endfunction
cnoremap tabe Tabe
cnoremap tabedit tabedit
-
command! ...
:TabeでMyTabEdit関数を呼び出せるようにコマンド登録する.-complete=file
を入れとくとtabキーでファイル補完ができるらしい - MyTabEdit コメントにあるとおり. 別タブで開く時は, switchbuf=usetabにして, sbufferでバッファを開くようにしている.
cnoremap ...
:tabe
と入力したときに:Tabe
と自動で変換する
同様に:tabedit
と入力したときは:Tabedit
とならないように,:tabedit
と変換する.-
その他
変数の展開の仕方から, 関数の作成, 実行方法まで何もかもわからなかった.
勉強しながらかいたのでもっといい方法あるのかも...
ご存知でしたらおしえてください
Author And Source
この問題について(tabeで開いているファイルはそのタブにジャンプする), 我々は、より多くの情報をここで見つけました https://qiita.com/YoheiSaito/items/776f014e2a5ec517f5f4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .