私はタイリングウィンドウマネージャを使用しており、gnome-terminal
複数のタブを使用してurxvt
ウィンドウマネージャが管理する複数のインスタンスに切り替えています。私が見逃した機能の1つは、新しい端末を開き、古い端末の作業ディレクトリをデフォルトとして使用する機能です。
簡単に言うと:最後に使用した $PWD をデフォルトとする新しい urxvt(bash) を開く方法が必要です。
私の心に浮かぶ唯一の解決策は、cd
次のように各パスの現在のパスを保存することです。
echo $PWD > ~/.last_dir
そして、次のように新しい端末のパスを復元します。
cd `cat ~/.last_dir`
2番目のコマンドを取得できますが、.bashrc
ディレクトリが変更されるたびに最初のコマンドを実行する方法がわかりません:)
関連または未使用のscreen
簡単なソリューションを歓迎します。tmux
答え1
現在、このバージョンのソリューション#1を使用しています。
# save path on cd
function cd {
builtin cd $@
pwd > ~/.last_dir
}
# restore last saved path
if [ -f ~/.last_dir ]
then cd `cat ~/.last_dir`
fi
私の中.zshrc
答え2
これは本当に非常にマイナーなことです。urxvt
既存のurxvt
ウィンドウで実行すると、新しいウィンドウが同じディレクトリにあります。これにはdup
別名を使用しました。urxvt &
ショートカットにバインドするには、bashのbind
コマンドを使用できます。たとえば、次のようにバインドしますF1。
$ bind '"\e[11~": "urxvt &\n"'
答え3
3つの用途があります.last_dir
。echo $PWD > ~/.last_dir
特殊機能では、以下を取り巻くラッパーです
cd
。function cd_ { [[ -d "$@" ]] || return 1 echo "$@" > ~/.last_dir cd "$@" }
新しい作業ディレクトリを保存しようとするたびに、それをディレクトリに入れて
~/.bashrc
cdcd_
の代わりに使用します。あなたの
$PROMPT_COMMAND
(推奨しない):PROMPT_COMMAND="$PROMPT_COMMAND; pwd > ~/.last_dir"
ターミナルで直接テストするか
~/.bashrc
。.last_dir
含まれます。カスタマイズされたPerl拡張スクリプトのための
rxvt
。私は自分で作ったことはありませんが、オンラインで多くの例を見つけることができます。