我在我的.bashrc以下行:如何根据Bash中的VI模式更改光标形状?
set -o vi
而且我想我的光标有一个管状当我在插入模式和块形状,当我在命令模式下,像我会在Vim的,如果我把下面在我的.vimrc:
let &t_SI = "\e[6 q"
let &t_SR = "\e[4 q"
let &t_EI = "\e[2 q"
除了在这种情况下,我想有在命令行上等价的行为。
我找到了部分答案在这里我的问题 - https://unix.stackexchange.com/questions/22527/change-cursor-shape-or-color-to-indicate-vi-mode-in-bash - 由@gogolb写的。
下面是答案,复制:
#!/bin/bash
# Script "kmtest.sh"
TEST=`bind -v | awk '/keymap/ {print $NF}'`
if [ "$TEST" = 'vi-insert' ]; then
echo -ne "\033]12;Green\007"
else
echo -ne "\033]12;Red\007"
fi
export PS1="\[email protected]\h \$(kmtest.sh)> "
但不幸的是,在回答解释,示例脚本只回车后改变光标形状,反之,我要的是游标形状改变当我点击<Esc>(即当我改变模式)。
我在Linux上运行的本地端APP,用猛砸4.4.7和我的$ TERM变量设置为xterm方式256color。此外,我不知道tmux是否对我所要求的功能有任何影响,但理想情况下,我希望解决方案能够在tmux会话内外使用。
SOLUTION
我最终发现了这个问题的答案我自己,我描述了另一个问题,我在这里公布:
How to correctly link patched GNU readline library to all existing programs?
别担心,该解决方案不需要任何修补。 ;)
您应该让您的解决方案成为答案 –
我该怎么做? – jinscoe123
在下面给你自己的问题添加一个答案,然后在任何等待时间(我认为这是一天或什么)后,你可以接受它作为你的问题的答案。你的解决方案对我有帮助,所以我很乐意通过updoot向你扔一些虚假的互联网点。 :-) –