【问题标题】:Can I press enter twice to execute a command?我可以按两次回车来执行命令吗?
【发布时间】:2018-04-12 03:20:50
【问题描述】:

我正在使用 ZSH,我想知道是否可以映射 [enter, enter] 来执行命令。具体来说,当我按两次 Enter 键而不输入任何其他文本时,我想移动到我的主目录。

我不想让别人为给我写脚本而烦恼,但如果你们中的任何人都可以指出我正确的方向(zsh script/applescript/whatever it should be)并告诉我是否这是可能的,我真的很感激!

我在 OSX 上使用 iTerm2,zsh 是我的主要 shell。如果您需要更多信息,请告诉我!

【问题讨论】:

  • 你的意思是两个输入都按在一个空行上还是只按第二个?
  • 要么!但是user1934428回答了我的问题:)

标签: shell sh zsh iterm2


【解决方案1】:

查看 zsh 手册页的 SPECIAL FUNCTIONS 部分中的 preexec。如果你用这个名字定义一个函数,例如在你的 .zshrc 中,并且你启用了历史机制(这在交互式 shell 中很常见),这个函数接收你输入的命令行作为参数。如果您只是键入 enter,则该命令将为空字符串。你可以抓住它,然后做任何你想做的事情——例如做一个 chdir。

【讨论】:

  • 哇,非常感谢!这正是我想要的。