gpt4 book ai didi

vim - 在暂停 vim 时设置光标形状

转载 作者:行者123 更新时间:2023-12-04 22:19:44 25 4
gpt4 key购买 nike

我在 OS X 10.9 之上使用 iTerm2 和 Vim 7.4。

在我的 bash shell 中,我的光标是一条闪烁的线。我安装了 Vitality ( https://github.com/sjl/vitality.vim/ ) 以使 Vim 光标在正常模式下成为一个块,在插入模式下成为一行。然后,为了让我的光标在退出 vim 时恢复到一行,我将以下 autocmd 添加到我的 .vimrc(来自 this 堆栈溢出问题):

autocmd VimLeave * let &t_me="\<Esc>]50;CursorShape=1\x7"

这一切都很好;一个问题是,当我通过 Ctrl-Z(我经常这样做)暂停 Vim 时,我的光标仍然是一个块。有什么方法可以检测到 Vim 是否被挂起(可能通过 autocmd)并将光标设置为一行?此外,大概我将不得不在恢复 Vim 时将光标重置为块。

最佳答案

没有 :autocmd暂停事件,但您可以通过 Hook 到 <C-z> 来解决这部分问题命令:

:nnoremap <silent> <C-z> :let &t_me=...<CR><C-z>

在恢复时恢复光标更加困难。看起来 Vitality 插件已经使用 autocmd 事件来改变形状,因此需要一种模式更改(进入/退出插入模式)来纠正问题。

如果这还不够,您必须在上面的映射中安装一个单独的一次性自动cmd(例如在 CursorMoved,CursorHold 上)。或者您可以尝试发送 :let命令通过 feedkeys() ,希望它只会在 Vim 唤醒后执行(未测试)。

关于vim - 在暂停 vim 时设置光标形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21757597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com