命令行的类似Textmate的键盘导航?

时间:2011-03-11 19:00:42

标签: macos unix keyboard-shortcuts textmate

如何更好地导航命令行?在TextMate中,我可以这样做:

  • CMD + ALT + ARROW 切换标签

  • CMD + SHIFT + ARROW 突出显示文字行

  • ALT + SHIFT + ARROW 突出显示字词

  • ALT + ARROW 跳转单词等

如何在终端中进行此类操作?

4 个答案:

答案 0 :(得分:4)

这是从Mac文本导航到默认Readline键的稍微完整的映射: iTerm key mapping

我在我的iTerm2首选项的“密钥”窗格中进行了设置,但您应该能够在Terminal.app中进行相同的映射(编辑:除了前两个之外的所有内容.Terminal.app只允许您选择从几个不同的键)

答案 1 :(得分:3)

在MacOS的终端应用程序中,您可以更改键盘绑定;转到终端首选项(快捷键 Cmd + )并导航到“键盘”选项卡:

Key => Action
control cursor left => \033b
control cursor right => \033f

等。你可以用其他emacs风格的绑定做同样的事情。至于切换选项卡,这是一个系统偏好设置>键盘>键盘快捷键设置;单击左侧的“应用程序快捷方式”,然后单击右侧的+以添加新的快捷方式。使用您想要的键盘组合并将其与确切的菜单名称配对,在终端中用于向前/向后移动选项卡分别是“选择下一个选项卡”和“选择上一个选项卡”(通过终端中的窗口菜单)。

这有帮助吗?

答案 2 :(得分:1)

这是一个指向任何登陆此处寻找iTerm等效提示的指针(与默认终端相对)。

要在iTerm中执行相同操作,请转到菜单“书签”,“管理配置文件”,“键盘配置文件”,“全局”。

然后在此处添加您在其他答案中看到的所有快捷方式,但在创建映射时不是发送文本“\ 033 ...”,而只需选择“发送字符序列”操作和转义字符序列!

  • “\ 033b”变为b
  • “\ 033f”变为f
  • 等等。

Escape sequence example

答案 3 :(得分:0)

有些事情可以通过编辑readline绑定来完成(请参阅bind -p / man bash)但是对于某些mac键盘键,您可以(或需要?)设置额外内容在Terminal.app的偏好中。

对于单词导航,请尝试:

终端偏好设置 - >设置 - >键盘

添加以下内容:

  • 选项光标左\ 033b(转​​义b)(向后字)
  • 选项光标右\ 033f(转义f)(转发词)
  • 选项转发删除\ 033d(转义d)(杀词)

单词边界的行为略有不同,但它比单个字符或整行导航更好,并且不需要为元键交换选项键并学习一堆新的键组合。