假设我的提示看起来像这样(_ 代表我的光标)
~ % _
Run Code Online (Sandbox Code Playgroud)
有什么办法可以让它看起来像这样
~ % _
[some status]
Run Code Online (Sandbox Code Playgroud)
这个问题最初是关于 zsh 的,但现在有了其他答案。
我在oh-my-zsh 中使用vi-mode和af-magic主题。
我希望光标样式在 in和 in 中指示我是处于正常模式(块)还是插入模式(梁)。zsh
vim
这是我到目前为止:
在我的~/.zshrc
:
# vim mode config
# ---------------
# Activate vim mode.
bindkey -v
# Remove mode switching delay.
KEYTIMEOUT=5
# Change cursor shape for different vi modes.
function zle-keymap-select {
if [[ ${KEYMAP} == vicmd ]] ||
[[ $1 = 'block' ]]; then
echo -ne '\e[1 q'
elif [[ ${KEYMAP} == main ]] ||
[[ ${KEYMAP} == viins …
Run Code Online (Sandbox Code Playgroud) 可能的重复:
更改光标形状(或颜色)以指示 bash 中的 vi 模式
我在 bash shell 中使用 vi-mode,每当我处于插入模式时,我都想更改 PS1 变量。当我运行时bind -v | awk '/keymap/ {print $3}'
,结果是vi-insert
插入模式和vi
正常模式。
我想要一些我处于哪种模式的视觉指示器,例如黄色提示或点,如下所示:
我希望这种视觉变化在模式改变后立即发生,即使没有运行任何命令。是否可以更改当前进程的 PS1 值并更新提示而不按 Enter 键?
每当您在 shell 上处于 vi 命令模式并点击数字(例如 8)时,“(arg: 8)”就会显示在行的开头。有人知道如何让它不这样做吗?移动我正在输入的行会分散我的注意力。
代替:
(arg: 8) somecmd --itslong --reallylong
Run Code Online (Sandbox Code Playgroud)
这:
somecmd --itslong --reallylong
Run Code Online (Sandbox Code Playgroud)