在我的工作,我必须遵循缩进房子的风格,肚里如下:
- 编码的HTML和红宝石时,2位
- 编码的JavaScript时,与接片tabwidth = 4推荐
什么是指定文件类型的每个不同的空白喜好的最佳方式?
在我的工作,我必须遵循缩进房子的风格,肚里如下:
什么是指定文件类型的每个不同的空白喜好的最佳方式?
方法有很多,但这里有一个简单,易于理解的方式。 添加这些行到你~/.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
彼得的回答很简单就够了,但不幸的是选项是不正确的。 您需要使用下面的选项,而不是:
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
还要注意:
:set list
。 :retab!
命令。 +1彼得的答案,但Vim中提供了另一种解决方案,以及。 如果你想要做的东西比一个更复杂的setlocal
,例如同时设立了一大堆的选项,命令和映射,然后vim的文件类型插件功能就派上用场了。
你需要有filetype plugin on
或filetype plugin indent on
你的.vimrc
,然后创建一个插件如红宝石,您可以创建~/.vim/ftplugin/ruby.vim
。 从技术上可以使用在这里喜欢的任何命令,当加载一个Ruby文件被运行,但建议的包括setlocal
, map <buffer>
, command -buffer
,并限定功能。 其它更多的信息,是用户指南中; 如果你很熟悉脚本VIM然后跳转到:help 41.11
,否则阅读:help usr_40
和:help usr_41
。
还有一个很好的Vim脚本: DetectIndent它会自动检测你打开一个文件的压痕。 如果你用不同的编码风格很多文件的工作这是非常方便的。
我用我的.vimrc自动命令:
:autocmd BufReadPost * :DetectIndent
要插入空格字符,每当按下Tab键,设置“expandtab”选项:
:set expandtab
接下来的步骤是,以控制的被按下tab键时将插入空格字符的数量,设置“tabstop”的选项。 例如,要插入一个选项卡,使用2空间:
:set tabstop=2
REF: http://vim.wikia.com/wiki/Converting_tabs_to_spaces