オプションを別のオプションの値に設定する方法はありますか?


7

たとえば、設定したい

set tabstop=4
set shiftwidth=4

のようなことをする方法はありますか

set tabstop=4
set shiftwidth=tabstop

単一の数値を変更するだけで両方の値を設定できますか?

回答:


13

let代わりにコマンドを使用できます。

そのようです:

let &shiftwidth = &tabstop

&変数名はVimのオプションであることを指定します。あなたは:help let-optionそれについてもっと知ることもできます:

:let &{option-name} = {expr1}
        Set option {option-name} to the result of the
        expression {expr1}.  A String or Number value is
        always converted to the type of the option.
        For an option local to a window or buffer the effect
        is just like using the |:set| command: both the local
        value and the global value are changed.

2
&l:shiftwidthバッファーのローカル変数のみを変更するために使用する可能性が高いことに注意してください。
jamessan 2015

技術的に私の質問に答えるので、これを承認済みとしてマークします。vimの実行中のインスタンスでtabstop / shiftwidth値を変更する場合は、両方の値を個別に設定する必要があります。
Chad Paradis


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.