当我处于插入模式并且打开了expandtab选项时,按选项卡↹会插入配置的空格数。
expandtab
但偶尔我想插入一个实际的制表符。
你知道怎么做吗?
你可以在“插入模式”中使用<CTRL-V><Tab>。在插入模式下,<CTRL-V>插入下一个字符的文本副本。
<CTRL-V><Tab>
<CTRL-V>
如果你需要经常这样做,@Dee 'Kej建议(在评论中)设置转变+选项卡来插入一个具有此映射的真正制表符:
:inoremap <S-Tab> <C-V><Tab>
此外,正如@feedbackloop所指出的,在Windows上,你可能需要按<CTRL-Q>而不是<CTRL-V>。
<CTRL-Q>
你可以在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>。另参见:retab和ins-expandtab 此选项在paste . conf中被重置 选项被设置并在paste选项被重置时恢复
CTRL-V
<Tab>
:retab
paste
因此,如果你有一个用于切换paste选项的映射,例如。
set pastetoggle=<F2>
你也可以做<F2>Tab<F2>。
<F2>Tab<F2>