使 kitty 终端模拟器使用新窗口的当前工作目录

使 kitty 终端模拟器使用新窗口的当前工作目录

假设我在 kitty 中有一个窗口,然后按ctrl+shift+enter打开一个新窗口。

新窗口始终用作~/当前工作目录。我希望新窗口使用上一个窗口使用的相同工作目录。

这可能吗?

答案1

在您的中kitty.conf,不要使用而是map ctrl+shift+enter new_window使用map ctrl+shift+enter new_window_with_cwd

在文档中找不到这一点,但作者在这个问题

答案2

根据文档

您可以使用以下命令打开一个新窗口,并将当前工作目录设置为当前窗口的工作目录:

map ctrl+alt+enter    launch --cwd=current

在 Lubuntu 20.4 中为我工作:

~$ kitty --version
kitty 0.23.1 created by Kovid Goyal
~$ ack 'map ctrl\+shift\+enter' .config/kitty/
.config/kitty/kitty.conf
27:map ctrl+shift+enter launch --cwd=current

答案3

您可以将 $PWD 保存到文件中,并在 .bashrc 中更改为相应的文件夹。

以下代码不是完整的实现,而是概念验证(其中包含问题(例如:它不处理 cd 的参数))。

在 .bashrc 中添加以下行:

save_and_change_folder() {
  if [[ -d "$PWD/$1" ]]; then
    echo "$PWD/$1" > cat /home/<user>/.last_folder_visited
  fi
  cd "$1"
}
alias cd="save_and_change_folder"

if [[ -e "/home/<user>/.last_folder_visited" ]]; then
  cd "$(cat /home/<user>/.last_folder_visited)"
fi

相关内容