如何阻止vim缩进左括号

时间:2017-09-01 14:17:45

标签: vim

我得到了set autoindent,因为我希望我的缩进保留,但是该选项会做一些我觉得非常烦人的事情,如果我在打开括号后创建一个新行,它会缩进文本。像这样:

(define (function)
  then it idents where this line starts, with 2 spaces

如何保留自动缩进实际缩进而不是它正在做的“聪明”事情? (smartindent已经关闭)

我希望将空格缩进复制到新行中,我不需要任何其他内容(例如在未插入任何内容时插入缩进)。

1 个答案:

答案 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