我使用Vim7.3和slimv来编辑*.lisp文件。
不幸的是,slimv几乎忽略了我的vim缩进设置,这有时会造成混乱。我希望使用制表符进行缩进,并且在vimrc中有以下行:
set tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab
let g:paredit_mode = 0Slimv忽略这些设置并坚持使用空格作为缩进,每个缩进使用两个空格。通过注释,我设法修复了"tab“行为(因此它不再插入2个空格而不是选项卡)。
setlocal expandtab然而,在Vim\vimfiles\indent\lisp.vim中,当我在lisp表单中间插入新行时,我不太确定如何修复自动缩进。在这种情况下,slimv再次忽略我的设置,并使用空格而不是制表符对齐新行,每个缩进级别有2个空格。
据我所知,缩进是在位于‘`Vim/vimfiles/ftplugin/slimv.vim’的function! SlimvIndent( lnum )中处理的,但我不太确定如何修复这个函数(而且它似乎没有任何可配置的设置)。
如何在slimv中修复选项卡行为?它有一些有用的快捷方式(评估表单等的,e),但是选项卡问题很烦人。
想法?
发布于 2013-08-21 16:33:16
我已经修正了slimv,以便在缩进时插入制表符(加上其余列的空格),如果在加载noexpandtab文件之后设置了,那么。Slimv在默认情况下仍然定义expandtab,因此仅将:set noexpandtab添加到.vimrc是不够的,但是可以通过“post”或“after”命令重写它,例如:
au BufReadPost *.lisp set noexpandtab
或者,只要随时在编辑器中输入:set noexpandtab即可。
请从Slimv储存库中获取最新版本。我仍然建议不要在lisp源文件中使用选项卡,请参阅下面的评论。
https://stackoverflow.com/questions/18321361
复制相似问题