为什么在.ini文件中使用tComment VIM插件时,它添加/删除的是分号而不是井号作为注释?

3 投票
1 回答
719 浏览
提问于 2025-04-16 05:57

我在使用gVIM编辑一个Pylons/Python项目中的development.ini文件,并且使用了tComment这个插件。默认的development.ini文件中,有些行是用井号#符号注释掉的,这在Python中是标准的注释方式。但是,当我尝试在gVIM中使用tComment的快捷键来取消注释时,我发现#并没有消失。相反,我看到的是行首多了一个分号。

我该如何调整tComment的设置,让它在Pylons的.ini文件中正确地添加或去掉#,而不是添加或去掉分号呢?

1 个回答

10

在你的autoload目录下的tcomment.vim文件里,你应该能找到一个类似这样的列表:

call tcomment#DefineType('aap',              '# %s'             )
call tcomment#DefineType('ada',              '-- %s'            )
call tcomment#DefineType('apache',           '# %s'             )

在里面你会看到这一行:

call tcomment#DefineType('dosini',           '; %s'             )

假设你不常需要注释windows的.ini文件,你可以把它改成这样:

call tcomment#DefineType('dosini',           '# %s'             )

更新:

这里有一个稍微更好的选择,因为你只需要编辑你的vimrc文件。通常情况下,vimrc文件会先被加载,所以我们尝试定义的任何内置文件类型都会被上面的文件重新定义,所以我们来自己定义一个:

au BufRead,BufNewFile, *.ini   set filetype=pythonini
call tcomment#DefineType('pythonini',           '# %s'             )

我们首先把.ini文件设置为我们自己的文件类型pythonini,然后为它添加我们自己的tcomment定义。

为了保持你的vimrc文件简洁易用,你可能想在调用tcomment之前检查一下它是否存在:

if exists('loaded_tcomment')
    au BufRead,BufNewFile, *.ini   set filetype=pythonini
    call tcomment#DefineType('pythonini',           '# %s'             )
endif

撰写回答