expandtab
文件中设置了.vimrc
,将tab
转换为多个space
字符。但是某些文件(例如Makefile)需要实际插入tab
字符。是否有一种简便的方法在我键入时强制插入
tab
?#1 楼
不仅要按Tab,还要先按Ctrl-V,然后再按Tab。这可用于插入各种特殊字符。有关详细信息,请参见
:help i_CTRL-V
。Ctrl-V还可以在命令行模式(
:help c-CTRL-V
)中运行,甚至可以在某些其他程序中运行。 (例如bash,mutt)。如果您将Ctrl-V映射到其他对象,请尝试使用Ctrl-Q。这在Vim中的作用与Ctrl-V相同,但是某些终端将其用于控制流,在这种情况下,Vim永远不会看到它。
#2 楼
而不是更改您的行为(容易出错)。我会将vim设置为对该文件类型具有不同的行为。但是专门针对
make
文件,我设置了noexpandtab
,以便保留选项卡。在〜/ .vimrc文件中添加以下内容:
" Normal action
set expandtab
if has("autocmd")
" If the filetype is Makefile then we need to use tabs
" So do not expand tabs into space.
autocmd FileType make set noexpandtab
endif
评论
我回答了他的问题,但是您实际上已经弄清楚了根本的问题是什么比我做的更好。做得好。
–丰富
15年2月12日在9:50
我认为这两个答案都很有价值。因为有时您登录到远程某个地方,不想弄乱vim配置,而只是想快速编辑Makefile。
–丹尼尔·施米兹(Daniel Schmitz)
19/12/6在22:34
评论
或
–马丁·图尔诺伊(Martin Tournoij)
2015年2月11日15:38