gpt4 book ai didi

bash - 如何利用 Bash 的 awsome dirs 内置命令来利用笨拙的 pushd 和 popd

转载 作者:行者123 更新时间:2023-11-29 08:51:49 24 4
gpt4 key购买 nike

有没有比 pushdpopd 更直观的处理目录堆栈的方法?

我发现 pushdpopd 内置命令的 CLI 呈现给用户有点令人难以置信。但与此同时,我很乐意经常使用 dirs 内置命令提供的目录堆栈。

所以我花了很长时间才弄清楚用例,然后记住了以下几个:

  1. pushd - 从顶部切换两个目录。
  2. pushd +1 - 切换到从顶级目录开始的第二个目录。
  3. pushd -0 - 从顶层目录切换到底层。
  4. popd +0 - 将顶部目录弹出到第二个目录。
  5. pushd -0; popd +1 - 从顶级目录切换到底部并弹出前一个顶部。

仍然不得不每次都输入它们来处理目录堆栈,这对我来说感觉太沉重了。我什至无法想出助记名称来为这五个用例起别名。

有什么见解吗?

最佳答案

最近我发现了 GNUs readline 库的强大功能以及它可以在 Bash 命令行上为用户提供的击键快捷方式。

因此,我在 ~/.inputrc 中定义了以下热键文件。 GNU readline的配置文件:

# "pushd" use case.
"\C-^": "\C-a\C-kpushd\C-m"

# "pushd +1" use case.
"\e<": "\C-a\C-kpushd +1\C-m"

# "popd +0" use case.
"\ex\e<": "\C-a\C-kpopd +0\C-m"

# "pushd -0" use case.
"\e>": "\C-a\C-kpushd -0\C-m"

# "pushd -0; popd +1" use case.
"\ex\e>": "\C-a\C-kpushd -0; popd +1\C-m"

我将上面的热键关联如下:

  1. <ctrl>-^ - vim用于切换当前缓冲区与上一个缓冲区的热键。
  2. <alt>-< - 向左移动并进位。
  3. <alt>-x< - 向左移动并裁剪。
  4. <alt>-> - 右移并进位。
  5. <alt>-x> - 向右移动并裁剪。

<ctrl>-ak击键将光标定位在行 (a) 的开头,然后将其删除 (k)。这很重要,因为当 <ctrl-m> (enter) is hit 机会是用户在句子中间按下热键。热键值会因当前用户输入而出现乱码,bash 无法执行它。

关于bash - 如何利用 Bash 的 awsome dirs 内置命令来利用笨拙的 pushd 和 popd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com