7

オプションを設定しようとしていますが、変数を使用すると機能しません。

これは実際に機能するものです:

set runtimepath+=~/.vim/bundle/foo/foo.vim/

これを試してみると、もう機能しません:

g:foo_path = '~/.vim/bundle/foo/foo.vim/'
set runtimepath+=g:foo_path

ここで同様のトピックを見たことがありますが、次のコマンドを使用して変数でオプションを設定しています。

let &backupdir=s:vimetc.'backups/'

ただし、これを試すと:

 let &runtimepath+=g:foo_path

それでも機能しません。私は得ています:

 E734: Wrong variable type for +=

何か案は?ありがとう。

4

3 に答える 3

7

問題はset、文字列変数の使用がサポートされてletおらず、文字列型の += がサポートされていないことです。

これはうまくいくはずです:

let g:foo_path = '~/.vim/bundle/foo/foo.vim/'
let &rtp.= ',' . g:foo_path
于 2013-09-29T15:42:18.507 に答える
1

あなたはほとんどそれを手に入れました。オプションの追加は (オプション値のタイプ、つまり文字列と数値に関係なく) を介して行われますが、文字列変数:set option+=valとの連結操作は を介し​​て行われます。withは数値加算専用であるため、E734 エラーが発生します。:let &option .= var+=:let

于 2013-09-29T15:58:31.077 に答える