Linux和类Unix终端命令行光标移动
上两天换了个HHKB,很早之前就听说用这款键盘在Linux或Mac下开发很高效,确实,我用Vim的时候确实很高效,但是在用终端命令行的时候就不是那么回事了。HHKB是60键的键盘,因此,方向键得用Fn组合其他键才能出来,而命令行中方向键是如此重要,比如你的命令打错了一个字符,你得移动到那个字符上,这个时候就有点不舒服了,本来HHKB设计出来就是为了让手指移动更少的距离,结果我还得去按F...
上两天换了个HHKB,很早之前就听说用这款键盘在Linux或Mac下开发很高效,确实,我用Vim的时候确实很高效,但是在用终端命令行的时候就不是那么回事了。
HHKB是60键的键盘,因此,方向键得用Fn
组合其他键才能出来,而命令行中方向键是如此重要,比如你的命令打错了一个字符,你得移动到那个字符上,这个时候就有点不舒服了,本来HHKB设计出来就是为了让手指移动更少的距离,结果我还得去按Fn
键(这个键远不如Ctrl
和Shift
用得那么顺手和常用)。。。当然,如果你习惯了也很快,这个要看个人。
今天看到我司一位大神发了一张命令行字符移动的快捷键才知道,原来是我使用命令行的方式不对(使用HHKB的方式不对),命令行下有快捷键可以移动光标,可以像Vim那样(Vim下有普通模式,可以通过一个字符来移动光标,但是命令行下还是要通过按键组合的方式,只不过用的是Ctrl
,Alt
,Esc
这几个好按的键),这里我仿制了一下他的那张图,并且根据自己的查询和体验新加入了一些东西进去。对了,就是最开始这张图。
要说明一点,这些快捷键,你用方向键也可以实现,而且说不定你用方向键更快捷,HHKB的方向键使用起来很不方便,因此才可能需要这个东西。
Linux和类Unix终端光标字符移动,这个可以百度或谷歌一下,会有一些文章总结了快捷键的命令,这里不赘述。不过看起来多,且记不住。我这里用图片的形式表示出来更直观,且容易记忆。而且我下面会类比Vim中的一些操作来帮助记忆。
上面这张图光标的位置在s
上,在命令上方的线是实线,表示通用快捷键,命令下方的线是虚线,表示特殊用途的快捷键,这是我自己瞎定义的。
通用快捷键
可以看到,左右移动一个字符和左右移动一个单次,都是组合键加b
,f
。这其实很好记忆,Vim中向后翻页是Ctrl + f
, 向前翻页是Ctrl + b
。
b
: back, f
:forward;
Alt + f(F)
要说一下,在Ubuntu下用Alt + f
起不到效果,得用Alt + F
,在Windows下的Git Bash中使用Alt + f
是可以起到效果的。这里也可以说下,当一个快捷键不起作用的时候,有可能是和当前环境的一些快捷键冲突了,这时可以加一个Shift
看看效果,至少我遇到的大部分冲突都可以起到效果;
打开Ubuntu终端的快捷键页面:
可以发现,确实有冲突,Alt + f
是菜单快捷键,因此把上面那一项去掉勾选,Alt + f
就有效果了。
移动到命令的开头和结尾分别对应a
,e
。
a
: ahead, e
:end;
特殊用途快捷键
Esc + b/f
又看到b/f
了,这两个快捷键的作用是把光标移动到当前单词的开头或者结尾,且如果光标的位置已经在单词的开头或者结尾,这个快捷键起不到效果,而且还会输入b/f
。
更多推荐
所有评论(0)