VIM文件类型插件不带有expandtab选项

时间:2018-09-28 15:41:01

标签: vim

这是我.vimrc所期望的expandtab,可以处理所有提到的问题 文件类型,make除外,该文件类型已被明确禁用。 et曾经用作非文件类型set命令,但检测文件类型很重要。

" vundle Config
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'vim-syntastic/syntastic'
Plugin 'Shougo/vimproc'
" All of your Plugins must be added before the following line
call vundle#end()

filetype on
filetype plugin on
filetype indent on

" Remove whitespace
autocmd BufWritePre * %s/\s\+$//e
autocmd FileType cpp,html,css set et paste tabstop=4 shiftwidth=4 backspace=2 matchpairs+=<:>
autocmd FileType haskell,go,js,erlang,vim,tex set et paste tabstop=4 shiftwidth=4 backspace=2
autocmd FileType make set noexpandtab paste shiftwidth=8 softtabstop=0
syntax on

我观察到的是设置了某些选项,而没有设置。 expandtab是我无法具体使用的选项卡。这是打开我的:set文件(.vimrc)时filetype=vim的输出。

backspace=2         filetype=vim        keywordprg=:help    paste               shiftwidth=4        tabstop=4           ttymouse=sgr
commentstring="%s   helplang=en         laststatus=2        scroll=21           syntax=vim          ttyfast

1 个答案:

答案 0 :(得分:3)

啊,那是一个棘手的问题。看看:help 'paste'

  

启用“粘贴”选项时(也已经启用):

     
      
  • 在插入模式和命令行模式下的映射被禁用
  •   
  • 缩写被禁用
  •   
  • “自动缩进”已重置
  •   
  • “ expandtab”已重置
  •   
  • [...]
  •   

请注意该选项的引入方式

  

如果您想从一个窗口中剪切或复制一些文本并将其粘贴到Vim中,这将非常有用。

仅当粘贴到终端中时,该选项才临时启用。通常通过在'pastetoggle'选项中配置的键。 (GVIM不需要它;它可以检测粘贴。如果启用了X选择和剪贴板功能,则也可以使用*+寄存器代替。)

其他评论

  • 三个:filetype命令可以压缩为一个filetype plugin indent on
  • 如果将其放在:autocmds周围,将消除某些插件堵塞它们的风险,并且还可以安全地重新加载您的~/.vimrc而无需定义重复项:
augroup myCustomizations
autocmd!
autocmd ...
augroup END