1

我注意到shiftwidth用于缩进文本。

这是我在 _vimrc 中的 shiftwidth 设置:

set shiftwidth=1

我不想改变它。我将它用于其他功能。

但是......我想缩进2个这样的空格:

--function-myfunction()
----1st-block
------2nd-block
--------3rd-block
--------end3rd-block
------end2nd-block
----end1st-block
--endfunction

- = 1 space

这可能吗?

这是我在 _vimrc 中的缩进设置:

set autoindent  
set cindent  
set cinkeys=!^F  
4

2 回答 2

1

setlocal例如,您可以:

:setl sw=2

它不会更改全局设置。

于 2012-05-12T12:49:46.373 回答
1

这不是一个非常优雅的解决方案。但是您可以将它添加到您的 .vimrc 中并用于,>>向右缩进 2。>>仍然应该缩进您期望的正常 (1)。

com! SpecialIndent call SpecialInd()
nmap <silent> ,>> :SpecialInd<CR>
function! SpecialInd(...)
    let s:special_indent=&sw
    setl sw=2
    silent exec "normal! >>"
    silent exec "setl sw=".s:special_indent
endfunction
于 2012-05-14T23:19:49.257 回答