使用listchars时,我只能得到2个空格的硬标签

时间:2011-11-10 17:31:07

标签: vim unicode

我正在使用以下.vimrc。其中包含(但不限于)以下内容:

set encoding=utf-8
set tabstop=4
set autoindent
set list lcs=tab:·\ ,trail:•,eol:¬

这应该给我四个空格的硬标签,第一个字符显示为一个小的中线点,其余三个字符显示为空格。但我得到的是两个空格的硬标签。我的vimrc中的其他内容就是抛弃标签间距。

显然我做错了什么,给自己两个空间的硬标签。我研究了listchars,vim编译标志,并试图在我的vimrc中输入不间断的空间。我还在做什么其他的想法?

1 个答案:

答案 0 :(得分:2)

看看你的_vimrc;混淆在以下几行

augroup htmldjango
   set tabstop=2
   set softtabstop=2
   set shiftwidth=2
augroup END

您正在使用set命令并重写之前的tabstopsofttabstopshiftwidth设置,无论文件类型。因此,您有效地将标签设置为2。

这可能会更好(我猜这是你想要做的)你使用

augroup htmldjango
   autocmd!
   autocmd FileType html setlocal tabstop=2
   autocmd FileType html setlocal softtabstop=2
   autocmd FileType html setlocal shiftwidth=2
augroup END

因此,仅在使用HTML文件类型时才设置不同的tabstopsofttabstop

注意:我不知道什么是htmldjango文件类型,所以你可能想要修改那个最适合你的部分。