设置Vim的空白喜好通过的文件类型(Setting Vim whitespace preferenc

2019-07-23 08:48发布

在我的工作,我必须遵循缩进房子的风格,肚里如下:

  • 编码的HTML和红宝石时,2位
  • 编码的JavaScript时,与接片tabwidth = 4推荐

什么是指定文件类型的每个不同的空白喜好的最佳方式?

Answer 1:

方法有很多,但这里有一个简单,易于理解的方式。 添加这些行到你~/.vimrc

autocmd FileType html setlocal ts=2 sts=2 sw=2
autocmd FileType ruby setlocal ts=2 sts=2 sw=2
autocmd FileType javascript setlocal ts=4 sts=4 sw=4


Answer 2:

彼得的回答很简单就够了,但不幸的是选项是不正确的。 您需要使用下面的选项,而不是:

autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype ruby setlocal ts=2 sw=2 expandtab
autocmd Filetype javascript setlocal ts=4 sw=4 sts=0 noexpandtab

还要注意:

  • 您可以通过使用使Vim显示制表符:set list
  • 一旦你正确设置选项卡/空间选项,就可以使VIM修复文件(更换标签或反之亦然空格)使用:retab! 命令。


Answer 3:

+1彼得的答案,但Vim中提供了另一种解决方案,以及。 如果你想要做的东西比一个更复杂的setlocal ,例如同时设立了一大堆的选项,命令和映射,然后vim的文件类型插件功能就派上用场了。

你需要有filetype plugin onfiletype plugin indent on你的.vimrc ,然后创建一个插件如红宝石,您可以创建~/.vim/ftplugin/ruby.vim 。 从技术上可以使用在这里喜欢的任何命令,当加载一个Ruby文件被运行,但建议的包括setlocalmap <buffer>command -buffer ,并限定功能。 其它更多的信息,是用户指南中; 如果你很熟悉脚本VIM然后跳转到:help 41.11 ,否则阅读:help usr_40:help usr_41



Answer 4:

还有一个很好的Vim脚本: DetectIndent它会自动检测你打开一个文件的压痕。 如果你用不同的编码风格很多文件的工作这是非常方便的。

我用我的.vimrc自动命令:

:autocmd BufReadPost * :DetectIndent 


Answer 5:

要插入空格字符,每当按下Tab键,设置“expandtab”选项:

:set expandtab

接下来的步骤是,以控制的被按下tab键时将插入空格字符的数量,设置“tabstop”的选项。 例如,要插入一个选项卡,使用2空间:

:set tabstop=2

REF: http://vim.wikia.com/wiki/Converting_tabs_to_spaces



文章来源: Setting Vim whitespace preferences by filetype