저는 정기적으로 OS X(El Capitan) 터미널에서 Linux 클러스터로 SSH를 통해 접속하며, 때로는 여러 터미널 탭을 사용하기도 합니다. 저는 bash와 vim을 사용합니다.
나는 다음을 수행하고 싶습니다 :
- SSH를 사용할 때 터미널 탭 제목을 현재 작업 디렉터리로 설정하세요.
PROMPT_COMMAND='printf "\e]1;"`basename $PWD`"\a"'
- vim을 사용할 때 터미널 탭 제목을 "vim — FILENAME"으로 설정하세요.
내 질문은 다음과 같습니다.
- 이렇게 하고
let &titlestring = "vim — " . expand("%:t")
.vimrcset title
에서 터미널이 변경됩니다.창문탭 제목이 아닌 제목입니다. 탭 제목을 별도로 설정하지 않으면(매개변수 1) 탭 제목이 창 제목(매개변수 2)을 반영하지만, 탭 제목을 설정하면 창 제목과 "분리"됩니다. - 외부 명령을 실행하면.vimrc이 기능을 사용할 때
:!
짜증나는 "Enter 키를 누르세요" 대화 상자가 나타납니다. - 내가
:silent !
사용한다면.vimrc, vim을 종료한 후 화면 하단에 터미널 프롬프트가 나타납니다. 나진짜프롬프트 위치를 저장하고 vim을 사용할 때마다 재설정하고 싶지 않습니다. 내가 내 안에 있다면.bashrc다음 기능:
function vim { printf "\e]1;"`basename "$1"`"\a" vim "$1" }
그럼 내 터미널무너지다
vim
명령줄에서 호출할 때. 함수 호출은vvim
작동하지만 영원히 입력하고 싶지는 않습니다vvim
. 별칭을 원합니다vim
.
그래서 막힌 것 같아요. 어떤 조언이라도 대단히 감사하겠습니다. 미리 감사드립니다!
답변1
글쎄, 내 문제가 해결되었습니다. 저는 프로그래밍 101에 실패했습니다.
vim을 함수로 정의한 다음 vim을 호출하여 무한 재귀 루프를 설정했습니다. 내 터미널이 추락한 것도 당연합니다. "실제" vim, 즉 실제 실행 파일을 호출해야 합니다. 이렇게 하면 됩니다:
function vim
{
printf "\e]1;"`basename "$1"`"\a"
/usr/bin/vim "$1"
}