在我的.vimrc中,我有一个两个空格的通用选项卡设置,我想在每种语言基础上覆盖它(也就是说,四个用于Python等,否则使用默认值),但我有找不到任何好的例子.
ski*_*age 75
这些其他答案似乎过于复杂.不要乱用〜/ .vim树中的更多目录和文件,只需将以下内容添加到〜/ .vimrc即可.
autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4
Run Code Online (Sandbox Code Playgroud)
(你可以是l33t和缩写参数et ts=4 sw=4 sts=4).我在文件类型中设置Vim空白首选项时发现了这一点
Fri*_*ner 53
只需将设置放入filetype插件文件〜/ .vim/ftplugin/LANGUAGE.vim即可.我的〜/ .vim/ftplugin/perl.vim包含以下行:
"
" ---------- tabulator / shiftwidth --------------------
" Set tabulator and shift width to 4 (Perl Style Guide)
"
setlocal tabstop=4
setlocal shiftwidth=4
"
Run Code Online (Sandbox Code Playgroud)
对于文件类型为"perl"(新的或现有的)的每个文件,这些设置将自动生效.
Bri*_*eal 22
我的回答是基于VIM Wiki 上的这个提示.这个答案使用"after"目录,因此您不必使用提供的插件文件来处理不同的文件类型.
例如,要指定Python文件的自定义设置,请创建一个名为python.vim保存Python设置的文件:
setlocal expandtab
setlocal shiftwidth=4
setlocal softtabstop=4
Run Code Online (Sandbox Code Playgroud)
将此文件放入其中
~/.vim/after/ftplugin (Linux)的$HOME/vimfiles/after/ftplugin (视窗)最后,你必须在你的.vimrc(Linux)或_vimrc(Windows)中拥有它:
filetype plugin indent on
Run Code Online (Sandbox Code Playgroud)
通常,您要设置一个特殊的vimrc类型文件,其中包含特定语言的设置,然后在主.vimrc中使用自动命令在必要时执行特殊的vimrc.这是我对Haskell(.hs等)文件的配置:
autocmd! BufNewFile,BufReadPre,FileReadPre *.hs so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre *.hsc so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre *.lhs so ~/.vim/haskell.vim
autocmd! BufNewFile,BufReadPre,FileReadPre *.cabal so ~/.vim/haskell.vim
Run Code Online (Sandbox Code Playgroud)
我~/.vim/haskell.vim做了像"set expandtab"这样的东西来使用空格而不是制表符,以及各种其他魔法用于格式化和类似这样的事情.您可以从http://vim.org和其他网站下载各种语言的优秀版本.
请注意,您可以做的不仅仅是更改vim设置.例如,您可以在编辑之前和之后通过过滤器运行该文件:
" Edit gpg-encrypted ascii-armoured files
autocmd! BufReadPre,FileReadPre *.asc set bin
autocmd BufReadPost,FileReadPost *.asc '[,']!gpg -q -d
autocmd BufReadPost,FileReadPost *.asc set nobin
autocmd! BufWritePre,FileWritePre *.asc set bin
autocmd BufWritePre,FileWritePre *.asc '[,']!gpg -e
autocmd BufWritePost,FileWritePost *.asc undo
autocmd BufWritePost,FileWritePost *.asc set nobin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19462 次 |
| 最近记录: |