微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bash 下的 emacs 和 vi 键绑定

初衷只是为了记述一下在 Bash/Zsh中怎么调用 Vi编辑当前的命令,但一发挥便涉及到了 Bash/Zsh的键绑定的话题,无法打住,只得另立新篇。这里也只说 Bash的键绑定,不会有 Zsh键绑定的内容

什么是 Bash的键绑定(keybing) 呢?就是在 Bash中的快捷键方案,即相当于某个 IDE的快捷键配置,或者叫 Keymap。比如说 IntelliJ IDEA中可选择的 Keymap有 Eclipse,Emacs,JBuilder,Mac OS X,Mac OS X 10.5+,NetBean,Visual Studio,以满足不同使用者的习惯。

相应的 Bash也为我们提供了两种键绑定的方案,即 emacs(认)和 vi键绑定类型。

Emacs键绑定

我们大多数天天在 Bash下无意识中使用着 Emacs键绑定类型,即使可能从未用过 Emacs本身。比如我们在 Bash下的按键组合

ctrl + a 跳到命令行的开始
ctrl + e 跳到命令行末尾
!! 重复最后一个命令
ctrl + l 清屏操作,类似于 clear命令
ctrl + c 中断/杀掉当前运行的进程 (SIGINT)
ctrl + d 发送 EOF标记,这会关掉当前的 shell (EXIT)
ctrl + z 发送 SIGTSTP给当前任务,使其挂起送到后台。(所以如果 vi未正常退出,而是按 ctrl + z的话,vi进程还呆在后台

它们都是来自于Emacs键绑定。是不是那么的熟悉啊?阅读全文 >>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐