当我第一次创建 .inputrc (默认情况下它不存在)时,我设置vi-ins-mode-string
为“+”和vi-cmd-mode-string
“:”来区分模式。默认情况下,我的提示符前没有添加“(cmd)”或“(ins)”,但后来我决定确实希望显示这些选项,所以我在 .inputrc 中更改了这些选项。但是,“+”和“:”继续出现在我的 bash 提示符前面,我不知道为什么。我尝试使用source
and获取 .inputrc bind
,我已经退出了终端的所有实例,但没有任何效果。我在这里做错了什么吗?我的 .inputrc 目前是:
set show-mode-in-prompt on
set vi-ins-mode-string "(ins)"
set vi-cmd-mode-string "(cmd)"
编辑:当从虚拟环境(使用 conda 创建,如果这很重要)内部启动 python 的交互式 cli 时, (ins) 和 (cmd) 会被适当地附加。只有在我的常规 bash 命令行上,“+”和“:”才会继续出现。
答案1
- 将这些行添加到您的
~/.inputrc
文件中。 - 重新启动 shell(打开一个新的终端会话)。
- 确保您的
bash
shell 处于vi
命令行模式并使用set -o vi
.
或者:
- 将这些行添加到您的
~/.inputrc
文件中。 - 使用
bash
重新读取文件Ctrl+XCtrl+R(您必须emacs
首先使用 暂时切换到模式set -o emacs
)。 - 确保您的
bash
shell 处于vi
命令行模式并使用set -o vi
.
如果你有一个INPUTRC
环境变量,那么这将指向该文件实际上用过的。从 shell 的启动文件中删除该变量(并重新启动 shell),或确保它具有默认值$HOME/.inputrc
(并重新启动 shell)。