screen + vim — vim filename을 열도록 화면 창 이름을 자동으로 설정하는 방법은 무엇입니까?


10

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

답변:


5

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

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

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


안녕. 그것은 나를 위해 작동하지 않았지만 내 .screenrc 파일이 설정되어 있기 때문이라고 생각합니다. 1 termcapinfo xterm * ti @ : te @ 2 hardstatus alwayslastline 3 hardstatus 문자열 '% {gk} [% {G} % H % {g}] [% = % {wk} %? %-Lw %? % {= b kR} (% {W} % n * % f % t %? (% u) %? % {= b kR}) % {= kw} %? % + Lw %? %? % = % {g}] [% {Y} % l % {g}] % {= b C} [% m / % d % c] % {W} '
4785

@ user4785 : 프롬프트에서 화면 창 제목을 설정할 수 있으면 Vim에서도이를 수행 할 수 있습니다. 당신의 프롬프트는 무엇입니까? 내 .vimrc스 니펫은 귀하없이 작동 합니까 .screenrc?
Gilles 'SO- 악마 그만해'

1

나는 약간의 해커 방식으로 그것을했다 : 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로 이동하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.