Vim:为什么在粘贴模式下不显示光标位置?

时间:2013-12-28 17:15:57

标签: vim mode

当我在vim中进入paste模式时,光标位置(否则显示在模式行上)消失。当我重新进入nopaste模式时,它会重新出现。这背后的原因和意图是什么?有没有办法让位置显示在paste模式中?

2 个答案:

答案 0 :(得分:1)

这可以在/.vimrc文件中配置。

请看这里:http://vim.wikia.com/wiki/Configuring_the_cursor

我认为这个选项会有所帮助:

:set guicursor+=a:blinkon1

答案 1 :(得分:0)

为此目的使用guicursor设置,并为粘贴模式设置光标。

在Vim中尝试::help guicursor,您会发现此设置的mode-list不同,即:

The mode-list is a dash separated list of these modes:
    n   Normal mode
    v   Visual mode
    ve  Visual mode with 'selection' "exclusive" (same as 'v',
        if not specified)
    o   Operator-pending mode
    i   Insert mode
    r   Replace mode
    c   Command-line Normal (append) mode
    ci  Command-line Insert mode
    cr  Command-line Replace mode
    sm  showmatch in Insert mode
    a   all modes

从那里,你可以清楚地看到你需要a类型模式列表,因为它适用于所有模式,包括粘贴模式。 这里需要注意的一件有趣的事情是,可以为Vim中的不同模式设置不同的光标类型:)

此外,文件说明:

  

a”模式不同。它将为给定的参数列表设置     所有模式。它不会将任何内容重置为默认值。这可以使用     为所有模式进行通用设置。例如,要关闭     眨眼:“a:blinkon0

现在,我们肯定需要a种模式。在上面的列表中是一个参数类型列表,一些参数类型是:hor(水平条),ver(垂直条),block(块光标),等等。

因此,了解上述内容后,我们可以做到:

set guicursor+=a:block-Cursor " sets a block cursor for all modes
" Examples of cursor highlighting:
:highlight Cursor gui=reverse guifg=NONE guibg=NONE
:highlight Cursor gui=NONE guifg=bg guibg=fg