BASH命令行快捷键指南(二)

题图:Rocky自画BASH快捷键导图

上一篇《BASH命令行快捷键指南(一)》中列举了BASH下常用的快捷键,但是难免还会有很多其它的问题,导致一段时间过后还是不能很好掌握这些快捷键。

以下是BASH命令行快捷键相关的几个技巧:

1. 设置Meta键

我在网上搜了很多关于BASH快捷键的文章,很少会提到BASH有emacs和vi两种模式,也很少有提到emacs模式下的Meta键。大部分都默认将ALT键当做Meta键了,导致我尝试使用ALT的组合键时,根本不起作用。原来这个ALT键时需要设置才能作为Meta键的。

关于如何设置Meta键,请戳“阅读原文”查看上一篇文章《BASH命令行快捷键指南》的第2节。

2. 禁用上下左右方向箭头

我自己最常见的情况就是快捷键太多记不住,有时又懒得去查找应该是哪个快捷键,干脆就临时用上下左右的箭头按键代替,还自我安慰说现在时间太急,先搞定当前的工作,回头再看看这个操作使用哪一个快捷键。这一回头,早就忘了快捷键的事了。

因此,为了不让自己呆在舒适的区域,强迫自己在命令行使用各种快捷键,决定想办法在命令行禁用上下左右箭头。

谷歌了一下,找到了在命令行禁用上下左右箭头的方法。总体来讲,BASH调用Readline库来处理用户输入,而readline库会调用/etc/inputrc~/.inputrc文件来设置键值映射,所以可以通过在~/.inputrc文件中将上下左右箭头映射为空来达到禁用的目的。

默认情况下,linux和macOS的用户主目录~下没有.inputrc文件,需要自行创建,以下是我在macOS上新建的.inputrc文件:

这里由于使用了$if mode=emacs语句,所以这里的键值映射设置只在默认的emacs模式下才有用。

如果只想在vi模式下起作用,则需要将if语句修改为$if mode=vi, 如下:

如果没有$if语句,则不论哪一种模式,上下左右箭头都会被屏蔽。

题外话,我使用的是Ubuntu,在图形界面的终端上,似乎并没有很好解决Alt映射为Meta键的问题。平时喜欢secure crt通过ssh连接,通过在secure crt中设置“Use ALT as meta key”得到解决。但仍然没有解决图形界面上ALT键会被窗口菜单拦截的问题。求大神指导下。

3. 整理归类命令行的快捷键

BASH命令行的快捷键说少不少,说多不多,二三十个吧,说实话,要一下子记住还是挺有难度的。

基于常用的快捷键,我在整理了一个简单的图,希望能减轻记忆的难度。


这里只包含了一些常用的快捷键,而非所有(没有包含ctrl+c, ctrl+z等,以及一些少用的)

由于公众号对图片大小限制的原因,这里只能放下一个没有注释的图片,不嫌麻烦的同学可以搜索公众号“洛奇看世界”,后台回复”0521”,获取带注释的完整图片。


4. vi模式下的提示

其实在熟悉vim的情况下,命令行切换到vi模式也很好用,问题就是vi模式的命令行也有insert mode和command mode,默认情况下没有任何提示,如何判断当前处于哪个模式呢?

知乎上的这位兄弟提供了一个办法:

https://www.zhihu.com/question/23857131/answer/124738655

bash 4.2以上
编辑 $HOME 目录下的 .inputrc
增加:

bash提示符前会出现+和:这两种符号,+代表插入/替代模式,:代表普通模式。

显然,这里的重点是设置:

我尝试在Ubuntu 14.04上进行设置,完成后命令行能正常通过”+”和”:”来指示当前的模式,如下:

前面两个提示符前都是’+’号,说明当前是可以输入的insert mode;最后一行的提示符是’:’,因为我已经按ESC键切换到了command mode。

我在mac上捣鼓了一下,发现不起作用,再仔细检查的时候,发现需要bash 4.2以上,而mac上的bash竟然是3.2.57的老版本,这版本也忒特么旧了:

那看来在Mac下只能升级BASH到4.2以上了。

通过brew install bash将bash升级到4.4.19发现还是不行。
搜索找到个相关的帖子:
https://unix.stackexchange.com/questions/22527/change-cursor-shape-or-color-to-indicate-vi-mode-in-bash

这里提到可能跟PS1的设置有关,当然,貌似有人是通过其他办法hack解决了,但我还是希望不使用hack的方式,等我解决了再告诉大家吧。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容