我得到了set autoindent
,因为我希望我的缩进保留,但是该选项会做一些我觉得非常烦人的事情,如果我在打开括号后创建一个新行,它会缩进文本。像这样:
(define (function)
then it idents where this line starts, with 2 spaces
如何保留自动缩进实际缩进而不是它正在做的“聪明”事情? (smartindent
已经关闭)
我希望将空格缩进复制到新行中,我不需要任何其他内容(例如在未插入任何内容时插入缩进)。
答案 0 :(得分:3)
autoindent
一般来说非常不聪明。它只是复制前一行的缩进而不考虑语法。
如果你有filetype plugin indent on
,这是在vim配置中常见的东西,那么你将在打开lisp文件时加载lisp语法。 lisp的filetype插件包含:
setl lisp
正如评论中所述,lisp
设置会影响缩进。其他插件可能会影响缩进,尤其是涉及括号时。
这个最小的.vimrc文件可以满足您的需求。这可能对你不起作用,因为你的.vimrc或你的插件中的其他东西也会影响行为,但这在我的测试中起作用。
set nocompatible
filetype plugin indent on
set autoindent
set nosmartindent
autocmd FileType lisp setlocal nolisp