OS X终端快捷方式:跳转到行首/行尾


115

我知道我可以使用Ctrl+ ACtrl+ 跳转到OS X终端内一行的开头和结尾E。但是我很习惯在编辑器中使用Cmd+ Right箭头和Cmd+ Left箭头跳转,所以我也希望在终端上也使用此快捷方式。

我尚未在Google上找到解决方案,因此也许有人可以提供帮助。

更新资料

如评论中所述,我尝试了OS X终端中的解决方案。OS X Terminal中是否有任何一种方法来逐字移动光标?

不幸的是,终端设置似乎不包含Cmd为修改键,如您在此处看到的:

终端的修改键


你不能适应这个吗?
Thomas Ayoub,2015年

我已经更新了我的问题,请参见上文
23tux 2015年

1
嗯,我不这么认为。我尝试过,它可以使用Option + right-arrow,但不能使用Cmd + right-arrow
23tux 2015年

您是对的,我的错,我在PC上
度过

更多有用的快捷键:stackoverflow.com/a/5542996
AT

Answers:


23

我使用一个名为Karabiner的便捷应用程序来执行此操作,以及执行许多其他操作。它是免费和开源的。

这是一个键盘重新映射器,为人们可能想要进行的许多常见重新映射提供了许多方便的预设。

从屏幕截图中可以看到,此重新映射作为Karabiner中的预设包括在内。

Karabiner首选项的屏幕截图,显示了将cmd + left / right映射到ctrl + a / e的预设

希望这可以帮助。重新映射愉快!


3
请注意,Karabiner目前无法在macOS Sierra上运行。
knuhol

很高兴知道; 我还没更新 希望Karabiner会在不久之后更新!
:)

2
现在,它支持Sierra甚至更高版本。这是Karabiner网站上一些预定义规则的链接。
Java徐

在我上方上方评论中的@JavaXu链接中,搜索Navigation in Terminal Apps以查找需要导入的规则。
electrovir

126
fn + shift + leftArrow = goto beginning of line
fn + shift + rightArrow = goto end of line

这些对我有用


20
我不需要按住Shift键。fn + leftArrawfn + rightArrow为我工作。也许有帮助!
巴拉特·古普塔

7
@BharatGupta fn + leftArrow在某些终端应用程序(例如VI)中可用,但在终端命令行中不起作用。
hygoh2k

2
使用iTerm2,fn + left和fn + right可以正常工作。随着转变,他们不起作用。ctrl + a和ctrl + e也可以。
bhekman '18

1
我是Mac的新用户,但Mac和Windows的所有功能使我感到厌恶!硬件不错,但是软件太糟糕了(即用户不友好。)
Doctorram

1
如果您是Mac上的新手,那么当您长期使用Windows时,会觉得很简单,因为您习惯于始终使用复杂的路径...在Mac上,您必须想到的非常简单...大部分时间都可以理解。当我将PC切换到Mac时,对我来说就像是这样
-Supernini

34

在最新的Mac OS中,您可以使用shift+ homeshift+end


16

在终端中使用vi以下命令进行设置:

HomeMacbook Pro键盘上的按钮:Fn + Left Arrow

EndMacbook Pro键盘上的按钮:Fn + Right Arrow


9

我不确定这是否对您有效(我仍在使用OS 10.8),但是这些对我的终端有效:

home = move cursor to the start of the line
shift+end = move cursor to the end of the line

alt+leftArrow = move one "word" to the left
alt+rightArrow = move one "word" to the right

希望这可以帮助!


1
在10.12 Sierra中,它似乎是开始的Shift + Home。此处列出的其他对象按列出的方式工作。
克里斯(Chris


8

对于iterm2:

转到配置文件/打开配置文件/密钥

设置 Cmd + left_arrow_key为发送Hex Code 001

设置Cmd + right_arrow_key为发送Hex Code 005

这使您可以使用Cmd + arrow_keys从行的开头到结尾。


按照@bhekman的评论:“使用iTerm2,fn + left和fn + right可以不移位而工作。移位时它们不起作用。ctrl + a和ctrl + e也可以。”
亚历山大·苏拉普尔

我没有看到cmd与原始问题相同的修饰键选项
electrovir

@electrovir只需按住它并按箭头键
Timmy Von Heiss

请参阅原始问题中的“不幸的是,终端设置似乎不包含Cmd作为修改键,如您在此处看到的那样”。我也有同样的问题。我的评论是关于创建密钥设置,而不是执行它。
electrovir

@electrovir听起来您在错误的地方。没有修饰符。打开iterm。转到首选项。转到个人资料。按下“加载预设”左侧的“ +”按钮。有两个字段:“键盘快捷键”和“操作”,用于按住键盘快捷键的命令按向左箭头键。然后采取行动->“发送十六进制代码-> 001”
Timmy Von Heiss

5

在这里,我发现没有任何第三方工具就可以对此进行调整。这将使以下快捷方式起作用:

 fn + right: to go to the end of the line.
 fn + left: to go to the beginning of the line.
  • 打开终端首选项cmd + ,
  • 转到您选择的主题,然后转到“键盘”选项卡。

在此处输入图片说明

  • 并添加一个新条目,如下所示。 在此处输入图片说明 在此处输入图片说明

  • 就这样。现在关闭并检查。

    希望能帮助到你。

编辑:请参阅下面@Maurice Gilden的评论,以获取更多见解。


5
只需输入“ 001”或“ 005”。反斜杠丢失了,我找不到手动添加它的任何方法。但是,您可以做的是,在文本框内按Ctrl + A表示“ \ 001”,按Ctrl + E表示“ \ 005”。
莫里斯·吉尔登

2
这应该是绝对正确的答案。所有第三方应用程序都已损坏或不再维护,并且fn + shift + leftArrow不再在Mojave上运行。
Salyangoz

这非常出色。但是,我为fn +右箭头映射选择了“ End”而不是“ Page Down”。
nedblorf

2

您可以下载Better Touch Tools。这是一个允许您在整个系统或单个应用程序上进行自定义键绑定和快捷方式的应用程序。使用它,只要分别按cmd-left / cmd-right,就​​可以在终端中创建一个模拟ctrl-a / ctrl-e的快捷方式。我绝对推荐!我使用它已有多年了,我在多个不同的应用程序中分布了50多个快捷键。


2
不幸的是,您的链接断开了
23tux '16

感谢您的注意!我修好了它。
雅各布

嘿,@ Jacob在终端命令的开始或结尾执行什么“触发的预定义动作”?
2016年

er,您应该使用“触发其他键盘快捷键”选项,并输入Ctrl-A转到终端命令的开头,并输入Ctrl-E转到结尾的命令。
雅各布

1

在iterm2中

fn + leftArraw或fn + rightArrow

这对我有用


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.