screen + vim — vim filename을 열도록 화면 창 이름을 자동으로 설정하는 방법은 무엇입니까? 따라 이름이 지정되어있어 유용하지 않습니다. 현재 창에

터미널 하단의 탭과 같은 열린 화면 창을 보여주는 멋진 rc 파일이 있습니다. 현재 창은 내 프롬프트에 따라 이름이 지정되어있어 유용하지 않습니다. 현재 창에 열려있는 vim 세션의 파일 이름을 기반으로 창 이름을 자동으로 지정하는 방법이 있습니까? 가능하다면 이것이 최고의 멀티 윈도우 편집기가 될 것이라고 생각합니다.



답변

title옵션을 설정하십시오 . 이것은 xterm과 같은 화면에서 작동하지 않지만 화면에서 작동하지 않습니다. 이 팁은 작동합니다 .

if &term == "screen"
  set t_ts="\ek"
  set t_fs="\e\\"
  set title
endif

다른 방법은 preexec셸에서 창 제목을 실행중인 명령으로 설정 하는 함수 를 작성하는 것입니다. Zsh는 preexec기본적으로 지원 하며 bash도 가능 합니다. 다음은 zsh 예제 입니다.


답변

나는 약간의 해커 방식으로 그것을했다 : tcsh를 사용하여 다음을 내 .cshrc에 넣었다.

# escape sequence to set the screen title
alias stitle 'echo -n "^[k\!*^[\\"'
# shorthand to set the screen title to the hostname
alias H stitle `hostname -s`
# shorthand to set the screen title to the filename, launch vim, and then set it back
alias vis 'stitle \!* ; vim \!* ; H'

제목을 원할 때 vim 대신 vis를 사용하는 것을 기억하는 한 작동합니다.

나는 또한 추가했다

set notitle

vim이 창 화면의 제목을 설정하지 못하게하려면 내 .vimrc로 이동하십시오.


답변