iTerm2의 경우, 작업 디렉토리를 창 제목에 어떻게 표시합니까?


22

최근에 기본 터미널 앱에서 iTerm2로 전환했으며 사용성 문제가 있습니다.

터미널에서 작업 디렉토리는 프로세스 및 픽셀 크기와 함께 제목 표시 줄에 나타납니다. 예를 들어, 다른 터미널 세션 간을 전환하기 위해 창을 클릭하면 working_directory-process-pixel_size가 표시됩니다.

불행하게도 iTerm2에서는 프로세스가 제목 표시 줄에 표시됩니다. 따라서 다른 디렉토리의 여러 iTerm2 창에서 작업하는 경우 Window를 클릭하여 하나를 선택할 때 어느 것을 쉽게 구분할 수 없습니다. 하나를 선택하면 iTerm2 창 사이를 쉽게 전환 할 수 있다는 것을 알고 있지만 원하는 창을 정확하게 식별하고 싶습니다. (Witch를 사용하면 Command-tabbing은 도움이되지 않습니다. 여기서 다시 프로세스 만 목록에 표시되기 때문에).

어떤 제안? 나는 모든 환경 설정을 살펴 보았고 아무것도 보지 못했습니다. 프로파일 작성은 내가 추구하는 것이 아닙니다 .iTerm2 창 제목에서 현재 작업 디렉토리를보고 싶습니다.

답변:


20

\033]0;TEXT\007이스케이프 시퀀스.

배쉬에서의 사용 예 : echo -ne "\033]0;$PWD\007"

$PROMPT_COMMANDBash를 사용하는 경우 추가 하거나 다른 방법으로 첨부하여 PS1자주 재평가되도록 할 수 있습니다.

예: export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"'


1
작동합니다. 간단하게 ~ / .bashrc 파일에 위에 나열된 내보내기 행을 추가하십시오.
스펜서

대단해. 정말 고마워; 이것은 대답이 실제로 bash 프로그래밍에 관한 것이며 iTerm 대 터미널과 관련이 없다는 것을 이해하는 데 도움이되었습니다. 다른 사람을위한 후속 조치로 faqs.org/docs/Linux-mini/Xterm-Title.html#s3linfo.org/echo.html을 참조하십시오 . 다시 감사합니다!
whiny_nil

5
그리고 경로의 마지막 부분을 얻으려면 echo -ne "\033]0;${PWD##*/}\007"( 길 을 보여준 github.com/barryclark/bashstrap 덕분에 )
Anentropic

1
@Spencer : PROMPT_COMMAND 쉘 변수를 내보낼 이유가 없으며 일반적으로 쉘이 실행하는 모든 프로그램 과 변수를 공유해야 할 필요가없는 한 일반적으로 쉘 변수를 내 보내지 않아야합니다 . 기본적으로 쉘에서 사용하는 변수는 내 보내지 않아야합니다. 다른 프로세스로 전송 될 변수 만 내 보냅니다. ~/.bashrc모든 대화식 쉘에서 실행되므로이 ​​스크립트에서 설정 한 변수를 상속 할 필요가 없습니다.
Chris 페이지

그럼 당신은 PROMPT_COMMAND를 사용하는 방법, 수출은 ... 그리고 그것은 일반적으로 더 복잡한 것들에 대한 것입니다 링크
몸매

2

이 요점 에서이 답변을 제목에 추가하는 것이 좋습니다.

# put this in your .bash_profile
if [ $ITERM_SESSION_ID ]; then
  export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi

0

zsh (macOS 10.15의 기본값)를 사용하는 경우이를 ~ / .zshrc에 넣으십시오.

if [ $ITERM_SESSION_ID ]; then
precmd() {
  echo -ne "\033]0;${PWD##*/}\007"
}
fi

및 로 철자 \033를 지정할 수도 있습니다 .\e\007\a

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