我在我的.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向你扔一些虛假的互聯網點。 :-) –