当我处于插入模式并且已打开expandtab选项时,按Tab会导致插入配置的空间数量。

但偶尔我想插入一个实际的制表符。

你知道怎么做吗?


您可以在“插入模式”中使用<CTRL-V><Tab>。在插入模式下,<CTRL-V>插入下一个字符的文本副本。

如果你需要经常这样做,@Dee 'Kej建议(在评论中)设置Shift+Tab来插入一个真正的标签,映射如下:

:inoremap <S-Tab> <C-V><Tab>

此外,正如@feedbackloop所指出的,在Windows上,您可能需要按<CTRL-Q>而不是<CTRL-V>。


你可以在Vim中禁用expandtab选项,如下所示:

:set expandtab!

or

:set noet

PS:当你完成插入制表符时,用“set expandtab”或“set et”将它设置回来

PS:如果你在.vimrc (softtabstop)中有相当于4个空格的制表符设置,你也可能喜欢将其设置为8个空格,以便能够通过按tab键插入制表符一次而不是两次(set softtabstop=8)。


来自expandtab的文档:

当expandtab打开时,使用CTRL-V< tab >插入一个真正的制表符。参见:retab和ins-expandtab。 当粘贴 选项,并在重新设置粘贴选项时恢复。

因此,如果你有一个映射切换粘贴选项,例如。

set pastetoggle=<F2>

你也可以按<F2>Tab<F2>。