tmux 창 이름을 vim 편집중인 파일 이름으로 설정

3436 단어 Vimtmux
참고:
  • tmux tabs with name of file open in vim - Stack Overflow

  • 별로 신경쓰고 있는 사람이 없는지, 일본어로의 정보를 보지 않으므로, 올려 둡니다.

    표제대로, 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
    

    첫 번째, 두 번째 줄은 tmux의 창 이름과 관련이 있으며 세 번째 줄은 일반 터미널의 제목을 변경합니다.

    이제 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
    

    처럼.

    (추기 여기까지)

    아래에 자신의 환경에서 어떻게 표시되는지, 스크린 샷 올려 둡니다.



    도움이되면 다행입니다.

    좋은 웹페이지 즐겨찾기