我已将[{1}}映射到打开<Leader>ev
进行编辑,使用:
.vimrc
我现在希望将nmap <Leader>ev :e $MYVIMRC<CR>
映射到编辑当前使用的<Leader>ec
文件,并映射colorscheme
以编辑当前<Leader>es
语法文件。我不想对路径(或部分路径)进行硬编码,因为我将在环境之间移动。它将帮助我在编辑过程中快速调整颜色/语法。
有任何帮助吗?
答案 0 :(得分:2)
Vim加载colorschemes,plugins等的路径由'runtimepath'
设置决定。 globpath()
函数可以从中执行查找。通过第一场比赛,我们将获得当前colorscheme的路径:
: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>