在提示符中输入命令时,我可能会使用箭头键返回并编辑标志,这样做会不断地将我从插入模式踢回正常模式。我如何关闭它以使其与 vim 的行为相匹配?
同样在 vim 中,每当在未绑定的正常模式下发出命令时,我可以这样做来摆脱警告铃声(我在某些情况下使用它,所以我不想在终端范围内将它们静音):
set noerrorbells visualbell t_vb=
if has('autocmd')
autocmd GUIEnter * set visualbell t_vb=
endif
有没有办法只为了提示而关闭系统铃声?
编辑以提供更多信息:
这是使用反射终端编辑器或通过 powershell 进行 sshing。 $TERM 在我的 .profile 中设置为 xterm-256color 但评论说我在使用 powershell 时在反射中得到 xterm 并在 vt100 中得到。 terminfo 显示在所有 3 种情况下与 $TERM 匹配的术语,并且所有配置中的提示行为都相同
操作系统是 RHEL,我的箭头键的转义键是“\EOA \EOC \EOB \EOD”,从与 infocmp 匹配的箭头向上顺时针方向
答案1
环境变量的值$TERM
选择terminfo
由解释功能键序列以及通过转义序列控制光标和终端屏幕的程序使用哪个条目,所有这些都使用ncurses
和/或libtinfo
库。
为了使程序正常运行,它们被告知使用的选定 terminfo 条目必须准确描述您用来与运行这些程序的主机连接的终端或终端仿真器。
根据至少一份 MicroFocus Reflection 文档,默认终端仿真是“VT500-7”,因此,如果您没有更改其中的任何设置,那么您可能应该设置为、 或或 之$TERM
类的值,尽管理想的设置取决于位于您要连接的主机上 terminfo 文件的确切版本上。vt320
vt420
vt420pc
至于powershell
,那不是终端模拟器。也许您指的是 Windows 终端?如果是这样,这被描述为 ANSI 终端模拟器(默认情况下),但在大多数 terminfo 文件中,有一个ms-terminal
定义可能比普通的更好ansi
。有传言称,微软希望终端“尽可能接近xterm-256color
”,因此它也可能起作用,同样取决于您所连接的特定主机上 terminfo 文件的版本。