如何设置我的新终端以保留以前终端的会话?
how can I set my new new terminal to retain session of previous terminals?
在 linux 中,(在我的 mac 中,我可以在 iterm2 的设置中执行此操作)如何设置我的终端模拟器,以便为每个新终端维护我的会话打开了吗?
例如:如果我在终端的 ~/code/
文件夹中,我打开一个新终端,我也应该在新终端的 ~/code/
文件夹中,而不是 ~/
我的用例是我在使用 i3 时不会丢失上下文
是否有可以执行此操作的设置或推荐的模拟器,是否可以通过编程方式完成此实现?
我不确定你为什么要这样做,因为你可以通过搜索命令的历史记录来简单地到达“经常”cd
ed 目录。
但是,如果您真的想这样做,一个(肮脏的?)技巧是将其添加到您的 .bashrc
:
# this is in ~/.bashrc
exit() {
sed -i '${
/^cd /{c\cd '"$PWD
"'q};a\cd '"$PWD
}" $HOME/.bashrc
command exit
}
它所做的是(隐含地)打印所有行,包括 倒数第二行 ,然后在最后一行 ($
) 检查是否最后一行以 cd
开头,然后是 space;如果是,它 c
将其更改为 cd $PWD
和 q
uits;如果没有,则 cd $PWD
行是 _a
附加的。
在 linux 中,(在我的 mac 中,我可以在 iterm2 的设置中执行此操作)如何设置我的终端模拟器,以便为每个新终端维护我的会话打开了吗?
例如:如果我在终端的 ~/code/
文件夹中,我打开一个新终端,我也应该在新终端的 ~/code/
文件夹中,而不是 ~/
我的用例是我在使用 i3 时不会丢失上下文
是否有可以执行此操作的设置或推荐的模拟器,是否可以通过编程方式完成此实现?
我不确定你为什么要这样做,因为你可以通过搜索命令的历史记录来简单地到达“经常”cd
ed 目录。
但是,如果您真的想这样做,一个(肮脏的?)技巧是将其添加到您的 .bashrc
:
# this is in ~/.bashrc
exit() {
sed -i '${
/^cd /{c\cd '"$PWD
"'q};a\cd '"$PWD
}" $HOME/.bashrc
command exit
}
它所做的是(隐含地)打印所有行,包括 倒数第二行 ,然后在最后一行 ($
) 检查是否最后一行以 cd
开头,然后是 space;如果是,它 c
将其更改为 cd $PWD
和 q
uits;如果没有,则 cd $PWD
行是 _a
附加的。