LoginSignup
19
20

More than 5 years have passed since last update.

tmuxのウィンドウ名をvimの編集中のファイル名に設定する

Last updated at Posted at 2015-06-21

参考:

あまり気にしている人がいないのか、日本語での情報を見ないので、上げておきます。

表題の通り、vimでファイルを編集しているときに、そのファイル名をtmuxのウィンドウ名に設定しておきたいことがあるかと思います。これを実現する方法は簡単で、上のリンクを見てもらえれば分かるとおり、autocmdの設定でそのBufferに入ったときに、tmux rename-windowでファイル名(expand("%:t"))を渡してやればいいだけです。

つまり、~/.vimrcに以下を追記

augroup titlesettings
  autocmd!
  autocmd BufEnter * call system("tmux rename-window " . "'[vim] " . expand("%:t") . "'")
  autocmd VimLeave * call system("tmux rename-window zsh")
  autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
augroup END

1、2行目はtmuxのウィンドウ名に関係するものであり、3行目は普通のターミナルのタイトルを変えるものです。

これで、Vimタブ間の移動、Vim分割ウィンドウ間の移動などをするたびにそのファイル名がtmuxのウィンドウ名に設定されます。


追記(2015/06/25)

但し、上の例ではtmux環境以外でVimを起動したときに、最後にアクティブだったウィンドウの名前が変更されてしまうので、tmux環境内で起動したときだけリネームが実行される必要がありました。

したがって、

if $TMUX != ""
  augroup titlesettings
    autocmd!
    autocmd BufEnter * call system("tmux rename-window " . "'[vim] " . expand("%:t") . "'")
    autocmd VimLeave * call system("tmux rename-window zsh")
    autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
  augroup END
endif

のようにします。

(追記ここまで)


以下に自分の環境でどのように表示されるか、スクリーンショット載せておきます。

screen_013.jpg

ご参考になれば幸いです。

19
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
20