나는 일반적으로 gnome-terminal을 열고 약 8개의 탭을 열어 두 개의 연속 탭을 사용하여 동일한 작업을 수행합니다(하나는 emacs, 다른 하나는 git 체크인 및 단위 테스트 실행 등).
작업을 변경할 때 두 탭 모두에서 새 디렉터리로 이동해야 합니다. 가능한 한 몇 단계만으로 두 번째 탭의 작업 디렉터리를 첫 번째 탭의 작업 디렉터리로 변경하려면 어떻게 해야 합니까? 그냥 키보드가 있는게 가장 좋습니다.
답변1
해결 방법은 다음과 같습니다. 한 탭에서 CWD를 임시 파일에 기록하고 다른 탭에서는 방금 저장한 디렉터리로 cd를 기록합니다. 내 .bashrc 또는 .bash_profile에 다음 두 개의 별칭을 추가하겠습니다.
alias ds='pwd > /tmp/cwd'
alias dr='cd "$(</tmp/cwd)"'
ds(dir save) 명령은 CWD를 표시하고 dr(dir recall) 명령은 cd를 표시합니다. C-shell을 사용하여 비슷한 작업을 수행할 수 있습니다.
답변2
터미널 에뮬레이터 사용해보기터미네이터. 여러 셸을 열고 "모두 브로드캐스트" 기능을 사용하여 동일한 명령을 모든 셸에 보낼 수 있습니다.
답변3
당신이 찾고있는 것은 쉘 스크립트를 작성하여 얻을 수 있습니다
xdo 도구
사용할 수 있는 예제 스크립트는 다음과 같습니다.
#!/bin/bash
xdotool type "cd $1
"
xdotool key Ctrl+Next
xdotool type "cd $1
"
답변4
zsh에서는 다음을 수행할 수 있습니다.
- 쉘에서 명령을 실행하십시오.
fc -AI
해당 쉘에서 실행하십시오.fc -RI
다른 쉘에서 실행하십시오.- 두 번째 셸에서 실행
!!
하거나 Up키를 눌러 첫 번째 셸에서 실행된 마지막 명령을 호출합니다.Enter
fc -AI
첫 번째 셸의 명령 기록을 기록하고 fc -RI
두 번째 셸에서 다시 읽습니다. 이 기능을 켜면 각 명령 후에 inc_append_history
동일한 작업이 자동으로 수행됩니다 .fc -AI
이 옵션을 켜면 share_history
모든 히스토리 라인이 모든 쉘 인스턴스 간에 자동으로 공유되므로 1단계에서 4단계로 바로 이동할 수 있습니다. 방해가 된다고 느껴질 수도 있습니다.
상대 경로를 사용하여 디렉터리를 변경하는 경우 먼저 절대 경로를 가져와야 합니다. 한 가지 방법은 입력하고 cd $PWD
(또는 $PWD
해당 auto_cd
옵션이 켜져 있는 경우) 확장을 누른 다음 Tab(또는 C-x *
일부 완성 설정 사용) $PWD
을 누르는 것입니다 Enter.