Ví dụ: tôi muốn đặt
set tabstop=4
set shiftwidth=4
Có cách nào để làm một cái gì đó như
set tabstop=4
set shiftwidth=tabstop
vì vậy tôi có thể đặt cả hai giá trị bằng cách chỉ thay đổi một số duy nhất?
Ví dụ: tôi muốn đặt
set tabstop=4
set shiftwidth=4
Có cách nào để làm một cái gì đó như
set tabstop=4
set shiftwidth=tabstop
vì vậy tôi có thể đặt cả hai giá trị bằng cách chỉ thay đổi một số duy nhất?
Câu trả lời:
Bạn có thể sử dụng let
lệnh thay thế.
Thích như vậy:
let &shiftwidth = &tabstop
Việc &
chỉ định rằng tên biến là một tùy chọn Vim. Bạn cũng có thể làm :help let-option
để biết thêm về nó:
: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.
Có thể là một cách tốt hơn nhưng bạn luôn có thể làm điều này:
exec 'set shiftwidth=' . &tabstop
Cụ thể trong trường hợp này:
http://vimhelp.appspot.com/options.txt.html#%27softtabstop%27 :
Khi 'sts' âm, giá trị của 'shift thong' được sử dụng.
http://vimhelp.appspot.com/options.txt.html#%27shiftference%27
Khi ['độ rộng băng tần' bằng], giá trị 'ts' sẽ được sử dụng.
&l:shiftwidth
để chỉ thay đổi biến cục bộ bộ đệm.