我正在使用“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个空格而不是任何标签。
答案 0 :(得分:1)
set shiftwidth=4
'shiftwidth' 'sw' number (default 8)
local to buffer
Number of spaces to use for each step of (auto)indent.
答案 1 :(得分:1)
我不知道有什么简单的方法可以解决这个问题,但是这里有一些你可以尝试的解决方法(粗略的复杂程度)。
将缩进设置为两个空格,并且必须按两次标签才能生效。
制作标签不加选择地在插入模式下插入4个空格,忽略所有制表位和缩进规则/选项。
:imap <Tab> <Space><Space><Space><Space>
使用修补的Vim,它允许您设置任意tabstops。 the Vim patches page处有一个变量tabstops补丁。
编写自己的缩进算法。有关如何执行此操作的详细信息,请参阅:help indentexpr
。
答案 2 :(得分:0)
当然,Vim将光标移动到下一个tabstop所在的第4列。不知道是否有办法将第一个tabstop设置为col 6(或2)。