Vim : 특정 탭의 레이블 변경


19

Vim에 많은 탭이 열려 있다고 가정 해보십시오. 탭 라인은 다음과 같습니다.

1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py

두 개의 탭이 모두 "t / file.py"라고 말하는 것을 보시겠습니까? 그것들은 다른 파일이며 동일한 탭 레이블로 바뀝니다.

워크 플로에서 탭 제목이 모호 하거나 ( 셰프가 "default.rb"라는 이름을 지정 하는 경우 ) 도움이되지 않습니다 ( "4 개의 버퍼가있는 8 개의 탭 중 하나에 내가 찾고있는 파일이 있습니다 ...").

논리적으로 나타내는 것을 나타 내기 위해 탭의 이름을 바꾸고 싶습니다.

1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py

탭이 생성되면 탭을 자유롭게 변경할 수 있다면 탭이 파일 이름 기반 레이블로 기본 설정되어 있습니다.

Vim에서 어떻게해야합니까?


1
나는 지금 실험 할 시간이 없지만 :help setting-tabline(터미널의 vim의 경우) 또는 :help setting-guitablabel(gvim의 경우)를 참조하십시오. 탭 로컬 변수를 확인하고 그 또는 일부 기본값을 반환하는 함수를 작성할 수 있습니다. 그런 다음 탭을 연 후 :let t:mytablabel = 'homepage_template'.
benjifisher

답변:


15

Taboo 라는 멋진 작은 플러그인 이 있습니다. 설치 한 다음 탭 제목을 다음과 같이 변경할 수 있습니다.

:TabooRename My Tab Title

자체 솔루션 작성에 관심이있는 경우 해당 플러그인의 소스 코드를 볼 수 있습니다.


Taboo환상적이다. TabooReset그리고 TabooRename그대로 탭 라인 ==>은 두 가지 "모드"전환 이름 으로 탭 금기 및 빔에 의해 자동 이름 탭을 선택합니다. 이것은 Tmux 의 " Windows " 라는 이름을 완벽하게 복제합니다 . 더 나은 방법으로, Taboo라는 이름의 탭은 Startify (또는 다른 세션 저장 도구)를 사용하여 복원 할 수 있습니다 .
llinfeng

8

gvim은 다음을 참조하십시오

:help 'guitablabel'
:help setting-guitablabel

옵션이있는 경우 t:mytablabel(탭 로컬 변수) 또는 비어있는 문자열 (기본값을 사용함)로 평가되는 표현식으로 옵션을 설정하십시오 .

:set guitablabel=%{exists('t:mytablabel')?t:mytablabel\ :''}

어쩌면 그것은 이미 너무 복잡하거나 어쩌면 더 좋아지고 싶을 수도 있습니다. 이 경우 함수를 정의하십시오.

function! GuiTabLabel()
  return exists('t:mytablabel') ? t:mytablabel : ''
endfunction
:set guitablabel=%{GuiTabLabel()}
:set go+=e

그런 다음 기본값을 무시하려는 탭에서 다음과 같이하십시오.

:let t:mytablabel = 'homepage_template'

gvim이 아닌 터미널에서 vim을 사용하는 경우 'tabline'대신 옵션 을 설정해야합니다 'guitablable'. 열려있는 모든 탭에 대한 레이블을 포함하는 단일 표현식이 필요하므로 좀 더 복잡합니다. 아래에 완전한 예가 있습니다.

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