控制台中是否有父文件夹的快捷方式?

控制台中是否有父文件夹的快捷方式?

我想知道是否有任何插件和/或实用程序可以让我的生活变得更加轻松。

当通过控制台从一个文件夹移动到另一个文件夹时,我可以使用Tab键盘上的键自动完成文件夹、查找文件夹(双击)或者只是表达我想在搜索中“前进”。

编码时,Tab使用 键可将代码“向前”或向右“推”。要将代码“向后”“拉”,可以使用Shift+Tab键组合。

有没有等效的方法,例如,按下Shift+Tab键来在控制台中为我写入../?或者让我知道我处于根级别,并且我不能再“后退”了?

使用示例:

情况1:

user@server:/$ cd ~/Desktop/folder1/

之后Shift+Tab

user@server:/$ cd ~/Desktop/(删除最后写入的文件夹。不再有退格垃圾邮件!!:D)

案例 2:

user@server:/$ cd

之后Shift+Tab

user@server:/$ cd(因为我已经 root 了,无法返回)

案例三:

user@server:/home/Desktop/folder1$ cd

之后Shift+Tab

user@server:/home/Desktop/folder1$ cd ../(因为我可以回到Desktop

我知道这听起来很懒。我知道我很懒。

无论如何,感谢您的建议!(:

编辑0: 只是为了清楚起见。我给出了命令作为示例cd,但我想要的可以应用于任何命令/可执行文件。这将被视为基本用途,就像Tab用于自动完成一样。

这篇文章与以下内容相关一。

编辑1: 我知道这是来自另一个论坛的同一篇帖子,但我只是希望从这个社区获得更多的观点!

答案1

您可以将unix-filename-rubout操作绑定到键(请参阅bash手册页):

bind 'C-b:unix-filename-rubout'

现在按Ctrl+b将“抹去“路径的最后一个组成部分。

unix-filename-rubout

删除 point 后面的单词,使用空格和斜线字符作为单词边界。删除的文本保存在 kill-ring 中。


要绑定unix-filename-ruboutShift+ Tab,您可能需要添加以下一行或多行~/.inputrc(或者两者!):

"\e\t": unix-filename-rubout
"\e[Z": unix-filename-rubout

这个答案了解为什么Shift这是一个有点奇怪的修饰语,以及如何找出你的终端可能需要什么。


或者,您可以通过按以下方式获得此行为:

  • Alt+ B- 返回一个单词
  • Ctrl+ K- 删除至行尾

但请注意,Alt+B在“单词“级别不”路径元素“...因此,破折号(-)、点(.)等...将标记单词边界,您可能需要多次按它。

答案2

我不知道有任何事物像您所描述的那样“上下文敏感”(也就是说,了解路径)。

但是,键盘快捷键Alt-Backspace会删除前一个单词,这可能只能满足你的 98% 的要求。

但是,它只满足你举的三个例子中的一个。抱歉。

相关内容