Zum Beispiel möchte ich einstellen
set tabstop=4
set shiftwidth=4
Gibt es eine Möglichkeit, so etwas zu tun?
set tabstop=4
set shiftwidth=tabstop
kann ich also beide Werte einstellen, indem ich nur eine einzige Zahl ändere?
Zum Beispiel möchte ich einstellen
set tabstop=4
set shiftwidth=4
Gibt es eine Möglichkeit, so etwas zu tun?
set tabstop=4
set shiftwidth=tabstop
kann ich also beide Werte einstellen, indem ich nur eine einzige Zahl ändere?
Antworten:
Sie können let
stattdessen den Befehl verwenden.
Wie so:
let &shiftwidth = &tabstop
Das &
gibt an, dass der Variablenname eine Vim-Option ist. Sie können auch :help let-option
mehr darüber wissen:
: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.
Könnte ein besserer Weg sein, aber Sie könnten dies immer tun:
exec 'set shiftwidth=' . &tabstop
Speziell in diesem Fall:
http://vimhelp.appspot.com/options.txt.html#%27softtabstop%27 :
Wenn 'sts' negativ ist, wird der Wert von 'shiftwidth' verwendet.
http://vimhelp.appspot.com/options.txt.html#%27shiftwidth%27
Wenn ['Shiftwidth'] Null ist, wird der 'ts'-Wert verwendet.
&l:shiftwidth
nur die lokale Puffervariable ändern möchten .