如何插入制表符时,expandtab选项是在Vim

当我处于插入模式并且打开了expandtab选项时,按选项卡↹会插入配置的空格数。

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

你知道怎么做吗?

118804 次浏览

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

如果你需要经常这样做,@Dee 'Kej建议(在评论中)设置转变+选项卡来插入一个具有此映射的真正制表符:

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

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

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

:set expandtab!

:set noet

PS:并在插入制表符时将其设回,使用"set expandtab"或"set et"

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

来自expandtab的文档:

expandtab打开时插入一个真正的制表符,使用CTRL-V<Tab>。另参见:retabins-expandtab 此选项在paste . conf中被重置 选项被设置并在paste选项被重置时恢复

因此,如果你有一个用于切换paste选项的映射,例如。

set pastetoggle=<F2>

你也可以做<F2>Tab<F2>