我的默认外壳是tcsh
.在我的.cshrc
档案里。我有bindkey -v
,因此在命令行中,字母b
和w
分别向后和向前跳转一个单词。我想设置 bash,以便当我切换到该 shell 时,它会执行相同的操作。我尝试放入bindkey -v
但.bashrc
不bindkey
被识别。有人可以解释一下如何tcsh
在bash
.谢谢!
答案1
在tcsh
shell 中,bindkey -v
将命令行编辑模式设置为“Vi 模式”(而不是“Emacs 模式”)。
在bash
shell 中,使用 可以达到相同的效果set -o vi
。
将命令行编辑器置于“Vi 模式”使其行为有点像使用 Vi 编辑器,其中w
(在“正常模式”下,按 后Esc)移动到下一个单词的第一个字符,b
移动到第一个字符当前或上一个单词的 ende
移动到下一个单词结尾,等等。
您还可以通过在文件中添加设置来将 Readline 库(bashbash
用于命令行编辑)切换到“Vi 模式” 。这样做还会额外影响set editing-mode vi
~/.inputrc
任何其他程序使用 Readline 库进行命令行编辑(例如某些交互模式数据库客户端)。