我们使用的 shell 终端是 bash,它的默认键绑定方式是 emacs 模式。比如键入 Ctrl+a 光标会停在行首,Ctrl+e 光标会停在行尾等等。
如果希望在终端输入时使用 vi 的模式,比如键入 h,光标左移;键入 l,光标右移等等。方法如下:
打开终端输入:
sudo cp /etc/inputrc  /etc/inputrc.bak 
sudo gedit /etc/inputrc
在文件中添加该行:
set editing-mode vi
重启终端。这时键入 l,光标右移了吧 
 
【转自】:http://blog.sina.com.cn/s/blog_455c7a600100stki.html
 
 

开启 Mac 终端的 VI 模式

偶然在 Hacker News(原文) 上看到的,可能是由于喜欢 Vim 而自然排斥 Emacs,我一直记不住终端里各种 Ctrl + 快捷键,这下好了^^。

设置方法:

$ vim ~/.inputrc
加入如下内容:
set completion-ignore-case On
set bell-style none
set editing-mode vi
$if mode=vi
set keymap vi-command
"gg": beginning-of-history
"G": end-of-history
set keymap vi-insert
"jj": vi-movement-mode
"\C-p": history-search-backward

重启终端后即可。

不爽的地方:

  • 编辑模式和命令模式光标没变化
  • 不支持选择模式,没法 ve、vd 之类的

另外,还有个很实用的小技巧,在终端里输入 open . 即可在 Finder 里打开当前目录,当然其他目录、文件也可以,大家自己尝试吧。

【转自】
作者:北点朝上
链接:http://www.jianshu.com/p/c9acb17e1277
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 
未完待续。。。
 

【转】更改 shell 终端的默认键绑定为 vi 模式的更多相关文章

  1. vim与shell终端操作技巧

    一.快速注释多行代码 1.添加//注释符 :10,50s#^#//#g       使用#作为分隔符 2.删除//注释符 :10,50s#^//##g       使用#作为分隔符 3.添加#注释符 ...

  2. 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)

    注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...

  3. Linux的shell终端常用快捷键

    参考: http://www.360doc.com/content/17/0627/09/44797135_666854802.shtml https://linux.cn/article-5660- ...

  4. [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法

    [From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952 ...

  5. linux之shell终端使用操作快捷键

    所谓的shell终端就是桌面右键里面的打开终端那个终端 敲命令是一件很有趣的事,可是有时候我们会遇到一些很麻烦的事 例如,命令太长导致敲完后一大串字符可读性低,想把vi filename 快速改为ca ...

  6. Linux分享笔记:shell终端的介绍

    [1] Linux中 “shell终端” 和 “bash解释器” 的区别 shell终端是通过基于系统调用接口开发出的程序,用来让用户与系统进行对话,管理计Linux系统.它是一个命令行工具,操作类似 ...

  7. shell编程 Shell script 的默认变量($0, $1...)

    Shell script 的默认变量($0, $1...) 我们知道指令可以带有选项与参数,例如 ls -la 可以察看包含隐藏文件的所有属性与权限.那么 shell script 能不能在脚本文件名 ...

  8. KingbaseES如何更改现有表的主键

    更改主键 假设您必须更改现有表的主键.您可以通过执行以下语句来实现此目的: ALTER TABLE tablename DROP CONSTRAINT tablename_pkey , ADD PRI ...

  9. Shell终端配置

    Shell终端配置 How to: Change / Setup bash custom prompt (PS1) 参考链接:https://www.cyberciti.biz/tips/howto- ...

随机推荐

  1. Linux MySQL 4G内存my.cnf配置表(转)

    # The following options will be passed to all MySQL clients[client]character-set-server = utf8  #### ...

  2. Mac XMPP Openfire 服务器配置

    前言 Openfire 是免费的.开源的.基于可拓展通讯和表示协议(XMPP).采用 Java 编程语言开发的实时协作服务器.Openfire 安装和使用都非常简单,并利用 Web 进行管理.单台服务 ...

  3. SQL如何获得本季度第一天、一年的第一天、本月的最后一天

    nterval 参数,具有以下设定值: 设置 描述 Year yy, yyyy 年 quarter qq, q 季 Month mm, m 月 dayofyear dy, y 一年的日数 Day dd ...

  4. mysql快速移植表数据

    使用select into outfile xxx ,  load data infile xxx 例如 : SELECT * into outfile '/tmp/out.txt' FROM `db ...

  5. org.hibernate.exception.ConstraintViolationException: could not insert:

    org.hibernate.exception.ConstraintViolationException: could not insert: 报错原由于xxx.hbm.xml文件里的主键类型设置有问 ...

  6. 源码安装mysql 5.7.19数据库

    1.系统要求yum install -y cmake make gcc gcc-c++ bison  ncurses ncurses-devel 2.创建用户和组groupadd mysql & ...

  7. 【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  8. Python dict 出现 Key error

    解决方法: https://www.polarxiong.com/archives/Python-%E6%93%8D%E4%BD%9Cdict%E6%97%B6%E9%81%BF%E5%85%8D%E ...

  9. Python——验证码识别 Pillow + tesseract-ocr

    至于安装教程在这里不再重复说了,可以参考博客,网上有大把的教程 https://blog.csdn.net/testcs_dn/article/details/78697730 要是别的验证码是如下类 ...

  10. django -- 联合索引

    一.定义: from django.db import models # Create your models here. class Person(models.Model): first_name ...