我已经映射<Leader>ev
到打开.vimrc
编辑使用:
nmap <Leader>ev :e $MYVIMRC<CR>
我现在希望映射<Leader>ec
到编辑当前使用的colorscheme
文件,也映射<Leader>es
到编辑当前的filetype
语法文件。我不想硬编码路径(或部分路径),因为我将在环境之间移动。它将帮助我在编辑过程中快速调整颜色/语法。
有什么帮助吗?
我已经映射<Leader>ev
到打开.vimrc
编辑使用:
nmap <Leader>ev :e $MYVIMRC<CR>
我现在希望映射<Leader>ec
到编辑当前使用的colorscheme
文件,也映射<Leader>es
到编辑当前的filetype
语法文件。我不想硬编码路径(或部分路径),因为我将在环境之间移动。它将帮助我在编辑过程中快速调整颜色/语法。
有什么帮助吗?
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>