1

以下を使用して編集用<Leader>evに開くようにマップしました。.vimrc

nmap <Leader>ev :e $MYVIMRC<CR>

<Leader>ec現在使用されているcolorschemeファイルを編集するためにマップし、<Leader>es現在のfiletype構文ファイルを編集するためにマップしたいと思います。環境間を移動するため、パス(またはパスの一部)をハードコーディングしたくありません。編集の途中で色や構文をすばやく調整するのに役立ちます。

何か助けはありますか?

4

1 に答える 1

2

Vimがカラースキームやプラグインなどをロードするパスは、'runtimepath'設定から決定されます。globpath()関数はそれからルックアップを実行できます。最初の一致を取ることにより、現在の配色へのパスを取得します。

:echo get(split(globpath(&runtimepath, 'colors/' . g:colors_name . '.vim'), "\n"), 0, '')

ファイルタイププラグインについても同様のことができます。現在のものはにあり&filetypeます。

パスをマッピングに挿入するには、次を使用できます<C-R>=(レジスタの内容を挿入、式レジスタで使用)。

:nnoremap <Leader>ec :edit <C-R>=get(split(globpath(&runtimepath, 'colors/' . g:colors_name . '.vim'), "\n"), 0, '')<CR><CR>
于 2012-10-23T11:56:37.633 に答える