当进入Vim命令行时,我试图将光标从块更改为垂直栏(I-beam)。
我试着用这个单独的密码:
" with these two codes nothing happens
autocmd CmdlineEnter * let &t_SI
autocmd CmdlineEnter * execute &t_SI
" this last one produce "E20: Mark not set" error
autocmd CmdlineEnter * execute '!echo -ne "' . &t_SI . '"'是这样的,甚至可能,或者vim对cmd行使用相同的光标,就像它在正常模式下使用的一样。
我已经将普通模式(&t_EI)更改为垂直栏,在这种情况下,光标是cmd行中的垂直条。
是否可以在cmd行中改变光标的正常模式?
有人能帮忙吗?
发布于 2022-11-20 12:00:34
发布于 2020-06-06 23:14:24
我找到解决办法了。
结果表明,在输入和离开cmd行时,可以更改光标。
此代码将在进入cmd行时将光标更改为垂直条,并在离开cmd行时将其还原为阻塞。
" vim cursor escape codes for the terminal emulator
" INSERT (&t_SI) - vertical bar (I-beam)
" REPLACE (&t_SR) - underscore
" VISUAL (&t_EI) - block
let &t_SI = "\<Esc>[5 q"
let &t_SR = "\<Esc>[3 q"
let &t_EI = "\<Esc>[1 q"
" set cursor to vertical bar when entering cmd line and
" revert cursor back to block when leaving cmd line
autocmd CmdlineEnter * execute 'silent !echo -ne "' . &t_SI . '"'
autocmd CmdlineLeave * execute 'silent !echo -ne "' . &t_EI . '"'https://stackoverflow.com/questions/62200208
复制相似问题