2

我正在使用 vim 7.3 和 slimv 来编辑 *.lisp 文件。

不幸的是,slimv 几乎忽略了我的 vim 缩进设置,这不时会造成混乱。我想使用制表符进行缩进,并在 vimrc 中有以下几行:

set tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab
let g:paredit_mode = 0

Slimv 忽略了这些设置并坚持使用空格进行缩进,每个缩进 2 个空格。我设法通过注释掉来修复“制表符”行为(因此它不再插入 2 个空格而不是制表符)

setlocal expandtab

Vim\vimfiles\indent\lisp.vimlisp 表单的中间插入新行时,我不太确定如何修复自动缩进。在这种情况下,slimv 再次忽略我的设置并使用空格而不是制表符对齐新行,每个缩进级别 2 个空格。

据我所知,缩进处理function! SlimvIndent( lnum )位于“Vim/vimfiles/ftplugin/slimv.vim”中,但我不太确定如何修复此功能(而且它似乎没有任何可配置的任何地方的设置)。

如何修复 slimv 中的选项卡行为?它有有用的快捷方式(,e评估表单等),但选项卡问题很烦人。

想法?

4

1 回答 1

2

我已经修复了 slimv 以便它在缩进时插入制表符(为其余列加上空格),如果在文件加载后noexpandtab设置。Slimv 仍然默认定义,所以仅仅添加到你的是不够的,但是你可以通过'post'或'after'命令覆盖它,例如:expandtab:set noexpandtab.vimrc

au BufReadPost *.lisp set noexpandtab

或者只要您愿意,只需:set noexpandtab在编辑器中输入即可。

请从Slimv 存储库中获取最新版本。我仍然建议不要在 lisp 源文件中使用制表符,请参阅我在原始帖子下方的评论以了解原因。

于 2013-08-21T16:33:16.493 回答