osx - 有没有办法在OS X Terminal逐字移动光标?

  显示原文与译文双语对照的内容

我知道这个组合 Ctrl + 跳转到当前命令的开始,和 Ctrl + E 跳到最后。

但有什么办法可以跳,像 Alt + / Cocoa 应用呢?

时间:

开箱即用的你可以使用很奇怪 Esc + F 搬到下一个单词的开始和 Esc + B 搬到当前单词的开始。

这里是你如何使用

默认情况下,终端具有以下移动( 左和右) word-by-word的快捷方式:

  • esc + B (左)
  • esc + F (右)

你可以配置 alt + 为你生成的序列:

  • 打开终端首选项( cmd + ) ;
  • 在设置选项卡上,选择键盘和 double-click ⌥ ← 如果它存在,或者如果没有的话添加它。
  • 根据需要设置修改器,并在框中键入快捷键: esc + B, 生成文本 33b ( 无法手动键入此文本) 。
  • 重复做 word-right ( esc + F 变得 33f )

或者,你可以在textmate处引用这篇博客文章:

http://blog.macromates.com/2006/word-movement-in-terminal/

在 Mac OS X 上- 以下键盘快捷键默认工作。 注意,你必须做出选项关键像终端偏好(在键盘选项卡)

我已经观察到,用于简单文本导航的默认 emacs key-bindings似乎在 bash shell上工作。 你可以使用

  • Meta-d删除从当前光标位置开始的单词
  • ctrl + 跳线的开始
  • ctrl + E 跳到结束
  • ctrl + K 杀死从光标位置
  • ctrl + Y 杀死粘贴文本缓冲区
  • ctrl + R 反向搜索命令你从历史类型的过去
  • ctrl + 向前搜索(在zsh适合我但不是bash)
  • ctrl + F char前进
  • ctrl + B 向后移动一个字符

switch 到 iTerm2 。 它是免费的,比普通的老式终端好很多。 它还有很多定制选项,比如键盘快捷键。

我也喜欢你可以在标签之间使用 cmd 和 1 -9. 尝试它,你将永远不会回到常规终端:)

如何设置自定义键盘偏好 iterm2

  • 安装 iTerm2
  • 启动,然后转到首选项窗格。
  • 选择键盘配置文件选项卡
  • 你需要将配置文件复制到新的文件,然后删除箭头键的快捷键,如 ^ right/left arrow 或者如果你不关心备份,只需从默认配置文件中删除它们。
  • 下一步确保你已经修改的配置文件被选中( 已经被选中)

Picture 1. png

  • 现在选择键盘选项卡( 最上面一行)

iTerm 2

  • 单击加号按钮添加新的键盘快捷键
  • 在第一个框类型中 CMD + left arrow
  • 在第二个框中选择"发送转义码""
  • 在第三个框中输入字母B

Picture 2. png

  • 使用所需的组合键重复。 escape + B 向左移动一个单词,escape + f 向右移动一个单词。
  • 你也希望建立cmd+d删除前面的字与 escape + d 光标

我经常按错钮 (cmd/control/alt) 箭头键和我有箭头键组合与按钮都设置为前后跳的话,但请做最适合你。

我有 Alt + /工作: 33b, 选择光标右 shell发送字符串: 33f 。你也可以将它用于其他控制键组合。

实际上,这取决于你使用的是什么外壳,但是大多数shell具有相似的绑定。 你所引用的绑定( 例如。 Ctrl + 和 Ctrl + E )是绑定你会发现在许多其他程序和用于年龄,另外还在大多数ui应用程序工作。

下面是Bash默认绑定的外观:

最重要的Bash键盘快捷键

请注意,你可以自定义它们。 你需要创建一个文件,如你所愿,我命名我的。bash_key_bindings并放入我的主目录。 你可以设置一些一般的bash选项,也可以设置键绑定。 为了确保应用,你需要修改一个名为 "。bashrc"的文件,bash在启动( 如果不存在,你必须创建它) 时读取它,并在下面进行以下调用:


bind -f ~/.bash_key_bindings

~ 意味着主目录在bash中,如上所述,你可以命名文件,并把它在你喜欢只要你喂path+name绑定。

让我看看我的bash_key_bindings file:的一些摘录


set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off

这些只是设置了几个选项( 例如。 禁用铃声;这可以在bash网页上找到。


"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert

这些确保只有字符才做任何事情,确保字符是"类型类型"( 它们在shell中插入自己) 。


"C-dW": kill-word
"C-dL": kill-line
"C-dw": backward-kill-word
"C-dl": backward-kill-line
"C-da": kill-line

这是很有趣的。如果我点击 Ctrl + D ( 我选择了delete删除 for ), 什么也不会发生。 但是如果我再输入一个小写字母w,光标左边的单词就会被删除。 如果键入大写,光标右侧的单词将被终止。 对于从光标开始的整个行,L 和L 也一样。 如果输入"一个",整个行实际上会被删除( 光标之前和之后的一切) 。

我向前跳一个词放在 Ctrl + F 和一个词向后 Ctrl + B


"C-f": forward-word
"C-b": backward-word

如你所见,你可以创建一个快捷方式,从而立即导致一个动作,或者你可以做出一个动作,然后你就必须键入一个( 或者更多) 字符,使它的发生,如上面的示例所示。

因此,如果你对默认绑定不满意,可以随意定制它们。 下面是一个链接到bash手册的链接。

其实有一个更好的方法。 按住选项并按箭头键左右键按单词移动。 很简单。

ctrle 将结束你的线和 ctrl 将带你去开始。

如果你检查 Use option as meta key 键盘选项卡的偏好,那么默认的emacs样式命令forward-和 backward-word ⌥F ( Alt + F ) 和 ⌥B ( Alt + B ) 分别。

我建议从Bash读取到 Z-Shell 。 如果你想增加你的bash/zsh能力 !

Mac OS X Lion 10.7、终端地图选项——左/右箭头Esc —— b/f 默认情况下,这是现在内置bash和其他程序使用这些emacs-compatible快捷键。

如果你碰巧是一个Vim用户,你可以试试bash模式的Vim 。 运行这里文件或者将它的放入你的~/.bashrc file:

 
set -o vi

 

默认你在插入模式;打击逃了出来,你可以移动,就像在normal-modevim,所以运动通过单词是 w 或者 b平时运动键也工作。

...