在 bash 中分配字母以向前和向后跳转

在 bash 中分配字母以向前和向后跳转

我的默认外壳是tcsh.在我的.cshrc档案里。我有bindkey -v,因此在命令行中,字母bw分别向后和向前跳转一个单词。我想设置 bash,以便当我切换到该 shell 时,它会执行相同的操作。我尝试放入bindkey -v.bashrcbindkey被识别。有人可以解释一下如何tcshbash.谢谢!

答案1

tcshshell 中,bindkey -v将命令行编辑模式设置为“Vi 模式”(而不是“Emacs 模式”)。

bashshell 中,使用 可以达到相同的效果set -o vi

将命令行编辑器置于“Vi 模式”使其行为有点像使用 Vi 编辑器,其中w(在“正常模式”下,按 后Esc)移动到下一个单词的第一个字符,b移动到第一个字符当前或上一个单词的 ende移动到下一个单词结尾,等等。

您还可以通过在文件中添加设置来将 Readline 库(bashbash用于命令行编辑)切换到“Vi 模式” 。这样做还会额外影响set editing-mode vi~/.inputrc任何其他程序使用 Readline 库进行命令行编辑(例如某些交互模式数据库客户端)。

相关内容