iTerm2设置按单词快速移动光标

iTerm2设置按单词快速移动光标

要设置的原因

我们经常会用到同一个命令,只不过参数略有不同,比如我要ping我的两个域名:

ping www.xiebruce.top
ping chuntu.xiebruce.top

由于运行第一个命令后,有历史记录,我们只要按上方向键即可调出这条命令的历史记录,修改一下域名即可再次ping。

然而,要把www修改为chuntu,就要不断的按左方向键来把光标定位到要修改的位置,有点麻烦,这个命令还算比较短,如果比较长的命令,那将会非常麻烦。

如果用过Mac自带的“终端.app”这个软件的童鞋,可能用过按单词移动光标(option+←/→分别向左和向右以单词为单位移动光标)。

如下图所示,我分别演示了按左键和按单词快速移动的差别,毫无疑问按单词快速移动会非常方便(其实用ctrl+k可以删除光标前的一个单词,更方便),而iTerm默认是不支持按单词快速移动光标的,所以需要设置
move wordly_optimized

原理

其实Mac自带的终端支持按单词移动光标,不是因为它比iTerm2强大,而是它默认设置了这个快捷键而已。

我们可以查看“终端.app”的偏好设置(Preferences)描述文件(Profiles)键盘(Keyboard),我们可以看到⌥+←⌥+→,分别对应\033b\033f,其中代表option键,\033其实是esc键,b和f分别是backward(向后,即向左)和forward(向前,即向右)
-w662

所以,其实按单词移动光标的快捷键,是esc+besc+f(注意按了一次之后,要放开esc键再按下一次,如果一直按着esc键,那么第二次按的时候就会失效)。

由于esc+b/f比较不方便,所以我们要在终端里设置两个快捷键,分别用来触发esc+besc+f这两个快捷键。我们可以看到,Mac自带的终端默认就已经设置了这个快捷键了,所以直接就可以用,而iTerm2默认没有设置,所以要自己设置。

开始设置

进入iTerm的PreferencesKeys→点击右下角+号→点击click to set
-w825

上一步点击click to set后,就可以开始按你要设置的快捷键了,我是用的option+←代表向左,option+→代表向右,按了之后它会显示,如果iTerm2的这两个快捷键已经被用了,你可以看看它是做什么用,如果是不重要的或者你用不到的可以删掉,再来设置这个
-w826

Action里搜索esc,选择搜索到的Send Escape Sequence(即esc键,esc就是escape的缩写),iTerm2里可以让我们选esc键而不用直接写它的控制符号\033(但最终触发命令的时候,iTerm2也是会把它转成\033的)
-w820

然后输入b或f(因为我这里是向右,所以我填f,如果是向左,就填b)
-w823

另一个方向是完全一样的操作方法,只不过字母不同,b是backward的缩写,意思是向后,向后其实就是向左;而f是forward的缩写,意思是向前,向前就是向右。

设置完以后,就可以用option+←/→来以单词为单位,快速移动光标了,再也不用拼命按左右方向键了。

注意,如果不生效,很可能是某个配置里的快捷键覆盖了全局的快捷键,把它删掉,关闭那个窗口再重新登录即可
image.jpg

打赏
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

iTerm2设置按单词快速移动光标