所以在我的.vimrc文件中,我把我的制表符设置为2个空格。我知道Makefile不喜欢这样,我一直在做的是暂时删除我的.vimrc条件并编辑Makefile,然后将所有内容添加回.vimrc文件。有没有什么方法可以在Makefile上使用vim编辑它而不必做所有的更改?我的Makefile非常简单。如下所示
all: main.cpp
g++ -g -Wall main.cpp
这是我的.vimrc
set number
colorscheme ron
set expandtab
: filetype on
: syntax on
: filetype indent on
set tabstop=2
set shiftwidth=2
3条答案
按热度按时间w3nuxt5m1#
您将错过Vim的
:help filetype-plugin
功能。(you可以将
~/.vimrc
中的所有filetype命令合并为一个:filetype indent plugin on
),并且假设Makefile具有常规名称以便检测到它(或者您手动执行:setfiletype make
),这将从$VIMRUNTIME/ftplugin/make.vim
加载缓冲区本地设置,其中包含以下缩进设置:如果你明确地不想要filetype插件特性(但是要知道任何内置选项都可以通过用户配置(
:help after-directory
)来调整,并且默认值通常很有用),你也可以通过~/.vimrc
中的:autocmd
来模拟这个设置:bxgwgixi2#
我认为正确的答案是设置你的编辑器。但是我想指出的是,如果你使用GNU make 3.82或更高版本,你可以使用.RECIPEPREFIX将菜谱介绍字符从TAB改为其他字符,如:
根据文件,前缀必须是单个字符,不能是字符串。
lymnna713#
您可以在Makefile中添加一个vim modeline,作为第一行或最后一行,以便在每个文件的基础上设置
noexpandtab
选项: