vim tex 文档的制表符缩进
vim tab indentation for tex document
我正在尝试配置我的 vimrc,以便在编辑 tex 文档时制表符为 2 个空格。
在我的 vimrc 文件中,我有
au BufNewFile,BufRead *.py:
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix
au BufNewFile,BufRead *.js, *.html, *.css, *.tex:
\ set tabstop=2
\ set softtabstop=2
\ set shiftwidth=2
但是,当我在 vim 中编辑文档时,它会忽略制表位。制表符比 2 个空格长得多。 Vim 不会抛出任何错误。我不明白为什么在编辑 tex 文档时它会忽略 tabstop=2 行。我必须在编辑时 运行 :set tabstop=2。
谁能看看我的配置文件怎么错了?
如果这是相关的,我正在使用 vimtex 插件。
谢谢。
- 文件 glob 需要用 逗号分隔,中间没有空格; cp。
:help autocmd-patterns
.
- 删除模式后的
:
冒号。
- 最好使用
:setlocal
而不是 :set
,否则缩进设置将继承到从其中一个创建的任何新缓冲区。
- 您可以将所有
:set
命令的参数合并为一个。
au BufNewFile,BufRead *.js,*.html,*.css,*.tex
\ setlocal tabstop=2 softtabstop=2 shiftwidth=2
而不是 :autocmd
,我更愿意将其放入 ~/.vim/after/ftplugin/{filetype}.vim
。 (这要求您有 :filetype plugin on
;使用 after 目录允许您覆盖 $VIMRUNTIME/ftplugin/{filetype}.vim
完成的任何默认文件类型设置。)必须为每种文件类型复制 :setlocal
命令,但对我来说,您希望为这些语言设置相同的缩进设置是偶然的,并且这些配置之间没有联系。
或者,您可以直接在 ~/.vimrc
中定义 :autocmd FileType {filetype} ...
。有了这个,你至少不会重复内置的 文件类型检测 和它使用的文件 glob 模式:
au FileType javascript,html,css,tex
\ setlocal tabstop=2 softtabstop=2 shiftwidth=2
我正在尝试配置我的 vimrc,以便在编辑 tex 文档时制表符为 2 个空格。
在我的 vimrc 文件中,我有
au BufNewFile,BufRead *.py:
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix
au BufNewFile,BufRead *.js, *.html, *.css, *.tex:
\ set tabstop=2
\ set softtabstop=2
\ set shiftwidth=2
但是,当我在 vim 中编辑文档时,它会忽略制表位。制表符比 2 个空格长得多。 Vim 不会抛出任何错误。我不明白为什么在编辑 tex 文档时它会忽略 tabstop=2 行。我必须在编辑时 运行 :set tabstop=2。
谁能看看我的配置文件怎么错了?
如果这是相关的,我正在使用 vimtex 插件。
谢谢。
- 文件 glob 需要用 逗号分隔,中间没有空格; cp。
:help autocmd-patterns
. - 删除模式后的
:
冒号。 - 最好使用
:setlocal
而不是:set
,否则缩进设置将继承到从其中一个创建的任何新缓冲区。 - 您可以将所有
:set
命令的参数合并为一个。
au BufNewFile,BufRead *.js,*.html,*.css,*.tex
\ setlocal tabstop=2 softtabstop=2 shiftwidth=2
而不是 :autocmd
,我更愿意将其放入 ~/.vim/after/ftplugin/{filetype}.vim
。 (这要求您有 :filetype plugin on
;使用 after 目录允许您覆盖 $VIMRUNTIME/ftplugin/{filetype}.vim
完成的任何默认文件类型设置。)必须为每种文件类型复制 :setlocal
命令,但对我来说,您希望为这些语言设置相同的缩进设置是偶然的,并且这些配置之间没有联系。
或者,您可以直接在 ~/.vimrc
中定义 :autocmd FileType {filetype} ...
。有了这个,你至少不会重复内置的 文件类型检测 和它使用的文件 glob 模式:
au FileType javascript,html,css,tex
\ setlocal tabstop=2 softtabstop=2 shiftwidth=2