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

これはあまりエレガントなソリューションではありません。しかし、これを .vimrc に追加し,>>て、右に 2 ずつインデントするために使用することができ>>ます。

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 に答える
1

setlocalたとえば、次のことができます。

:setl sw=2

グローバル設定は変更されません。

于 2012-05-12T12:49:46.373 に答える