在文字Haskell中激怒Vim中的Tab问题

我正在使用“Bird”风格的文字
haskell,它要求所有代码如下所示:

> module Main (main) where

如果我有一个块,它应该看起来像这样:

> main = do
>     args = getArgs
>     file = args!![0]

然而,当我进入gt标志,然后一个空格和点击标签它只标记两个空格!

我已经做了以下尝试解决问题:

set tabexpand
set tabstop=4
set softtabstop=4
set noautoindent
set shiftwidth=4

任何帮助将不胜感激我认为上面基本上只是让它插入4个空格而不是任何标签.

最佳答案 我不知道有什么简单的方法可以解决这个问题,但是这里有一些你可以尝试的解决方法(粗略的复杂程度).

>将缩进设置为两个空格,并且必须按Tab键两次.
>使选项卡不加选择地在插入模式下插入4个空格,忽略所有制表位和缩进规则/选项.

:imap <Tab> <Space><Space><Space><Space> 

>使用修补的Vim,它允许您设置任意tabstops.在the Vim patches page有一个变量tabstops补丁.
>编写自己的缩进算法.请参阅:help indentexpr,了解有关如何执行此操作的详细信息.

点赞