如何在VIM中的expandtab选项为ON时插入Tab字符

时间:2011-01-24 10:46:57

标签: vim

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

但偶尔我想插入制表符本身。

你知道怎么做吗?

3 个答案:

答案 0 :(得分:477)

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

如果您发现需要经常这样做,@ Dee`Kej建议(在评论中)设置 Shift + Tab 以通过

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

同样由@feedbackloop注意到,在Windows上,您可能需要按<CTRL-Q>而不是<CTRL-V>

答案 1 :(得分:27)

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

:set expandtab!

:set noet

PS:并在完成插入标签后将其设置回来,使用&#34;设置expandtab&#34;或者&#34;设置et&#34;

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

答案 2 :(得分:2)

来自expandtab的文档:

  

要在expandtab开启时插入真实标签,请使用CTRL-V <Tab>。另请参阅:retabins-expandtab   paste时会重置此选项   重置paste选项时设置和恢复选项。

因此,如果您有切换paste选项的映射,例如

set pastetoggle=<F2>

您也可以<F2>Tab<F2>