问题基本上是这样。尝试使用给定的组合键实现“后退”和“前进”功能。我认为最好的方法是创建一堆访问过的目录,一个用于前进,一个用于后退。这是最好的方法吗?是否有一个变量已经保存了我可以调用的这些信息?在我意识到我不能只保存最新的目录之前,我就有了这个。
previous_wd='~'
next_wd='~'
cd()
{
previous_wd=$(pwd)
builtin cd "$@"
}
back_to_previous_directory()
{
next_wd=$(pwd)
cd "$previous_wd"
}
forward_to_previous_directory()
{
cd "$next_wd"
}
up_a_directory()
{
cd ..
}
# \C-u clears the line
bind '"\e[1;3D":" \C-uback_to_previous_directory\n"' # go back a directory on alt+left
bind '"\e[1;3A":" \C-uup_a_directory\n"' # go up a directory on alt+up
bind '"\e[1;3C":" \C-uforward_to_previous_directory\n"' # go forward a directory on alt+right