같은 디렉토리에서 새 탭을 엽니 다 / nested / folder에 있다고

/ very / cool / and / deeply / nested / folder에 있다고 가정하십시오. 그리고 같은 폴더에서 새 터미널 탭을 열려고합니다.

어떻게 하시겠습니까?

Mac OS와 Zsh를 사용합니다.



답변

사용 아 – 내 – zsh을 하고 추가 ‘OSX’플러그인 당신의 ~ / .zshrc 같은에서 :

plugins=(osx)

OSX의 터미널 앱을 사용하는 경우 terminalapp플러그인도 추가해야합니다 . credit

plugins=(osx terminalapp)

iTerm을 사용하는 경우 구성 옵션을 설정해야합니다 ( 작동하려면 zsh 플러그인이 필요하지 않을 수도 있음 ). credit

환경 설정> 프로파일> 기본값> 일반> 작업 디렉토리> 이전 세션 디렉토리 재사용 옵션

그게 당신이해야 할 전부입니다!


답변

Mac OS X Lion에서 사용 가능한 다른 옵션은 내장 기능을 사용하는 것입니다. 현재 디렉토리를 찾기 위해 ‘이스케이프 시퀀스’를 사용합니다. 내 .zshrc에서 다음 명령을 사용하면 작동합니다.

precmd () {print -Pn "\e]2; %~/ \a"}
preexec () {print -Pn "\e]2; %~/ \a"}

PS1Bash의 경우이 위키 에서 사용할 수도 있습니다 .

export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\] "

\e]2;제목 표시 줄에 인쇄 할 이스케이프 시퀀스는 어디에 있습니까 ? 보인다 Terminal.app 거기에서 해당 정보를 얻고있다.

추가 정보:


답변

이것은 bash에서 사용하고 zsh에서도 작동하는 매우 간단한 버전입니다. 모든 명령 (IMO가 너무 많이 손상되지 않음) 후에 현재 폴더를 파일에 저장하고 저장된 현재 폴더에서 새 터미널을 엽니 다.

.zshrc에 다음을 추가하십시오.

# emulate bash PROMPT_COMMAND (only for zsh)
precmd() { eval "$PROMPT_COMMAND" }
# open new terminal in same dir
PROMPT_COMMAND='pwd > "${HOME}/.cwd"'
[[ -f "${HOME}/.cwd" ]] && cd "$(< ${HOME}/.cwd)"

답변

gdirs 는 거의 그것을 수행하는 방법 인 것 같습니다 : 새 탭, 그런 다음 gdirs는 깊은 디렉토리와 짜잔을 선택합니다. 첫 번째 아이디어는 모든 탭에서 디렉토리 스택을 공유하고 새 탭 다음에 cd ~ 1을 수행하는 것이었지만 zsh의 각 인스턴스가 자체적으로 유지하는 것처럼 그렇게하는 방법을 찾을 수 없습니다. 히스토리 공유는 공통 파일을 통해 이루어 지므로 여기에서도 가능합니다 …


답변

이것이 bash에서 수행하는 방법입니다.

이 셸 스크립트는 Terminal.app에 새 탭을 열고 현재 디렉토리로 전환하도록 (말 그대로 조용한 Applescript를 사용하여) 알려줍니다.

#!/bin/bash
osascript -e 'tell application "Terminal"' \
-e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' \
-e "do script with command \"cd `pwd`;clear\" in selected tab of the front window" \
-e 'end tell' &> /dev/null

… 위의 셸 스크립트를 $PATH/ usr / local / bin 의 디렉토리에 넣고 실행 가능한지 확인하십시오.

$ chmod +x /usr/local/bin/nt

( 소스 )


답변

구성 파일을 변경하거나 새 플러그인을 설치하지 않고 지금이 새 탭을 열어야하는 경우 다음을 실행하십시오.

pwd | pbcopy

그런 다음 새 터미널 탭을 수동으로 열고 (⌘T 사용) 새 탭에서 :

cd "`pbpaste`"

경고 : 시스템 클립 보드의 내용을 덮어 씁니다.


클립 보드를 덮어 쓰지 않는 대안으로 더 긴 방법 :

pwd > $TMPDIR/wd

새 탭을여십시오.

cd "$(cat $TMPDIR/wd)"
rm -f $TMPDIR/wd

답변

위의 Pieter의 의견에 따르면 plugins=(git osx)플러그인이 설치되면 입력하면 tab현재 디렉토리에 새 탭이 열립니다.