如何设置新的新终端以保留以前的终端会话?

问题描述

在linux中,(在我的Mac上,我可以在iterm2中的设置中执行此操作)如何设置终端仿真器,以便为打开的每个新终端维护会话?

例如:如果我在终端的~/code/文件夹中,则我将打开一个新终端,我也应该在新终端的~/文件夹中,而不是result = [] for l in summary.tolist(): new_l = [] for v in l: try: new_l.append(int(v)) except ValueError: new_l.append(v) result.append(tuple(new_l))

我的用例是在使用i3时我不会失去上下文

是否存在可以执行此操作的设置或推荐的仿真器,是否可以通过编程方式完成此实现?

解决方法

我不确定您为什么要这样做,因为您可以通过搜索命令的历史记录来简单地访问“频繁” cd目录。

但是,如果您真的想这样做,一个(肮脏的?)技巧将在您的.bashrc中添加:

# this is in ~/.bashrc
exit() {
  sed -i '${
            /^cd /{c\cd '"$PWD
          "'q};a\cd '"$PWD
          }" $HOME/.bashrc
  command exit
}

它的作用是(隐式)打印直到第二行并包括第二行到最后一行的所有行,然后在最后一行($)上检查最后一行是否以cd,后跟空格;如果存在,它将c挂在cd $PWDq个uits上;如果不是,则在cd $PWD行的末尾加上_ {a

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...