Bunu istedim, bu yüzden sadece yerel olarak uyguladım. "Rasgele kod yürütme" ile ilgilenmiyorum ama bu basit ihtiyaçlar için işe yarayabilir. Dosya adlarını gerektiği gibi ayarlayın.
let s:this_file = expand("<sfile>")
autocmd BufEnter * call LoadLocalVimrc(expand("<afile>"))
function! LoadLocalVimrc(filename)
let l:filepath = fnamemodify(a:filename, ':h')
let l:file = findfile("local.vimrc", l:filepath . ";/")
if l:file != ''
execute "source" l:file
execute "nnoremap <F8> :$tabe " . s:this_file . "<CR>:sp " . l:file . "<CR>"
endif
endfunction
Bu local.vimrc
aslında, başka bir yerde kaynak kontrolünde tutabileceğim, şirket içi vimrc dosyalarımın herhangi bir yerinde bulunan ve tüm yapılandırmamı başka makinelere taşımayı kolaylaştıran ya da bir şirketi ya da başka bir şeyi ziyaret ettiğimde, bir dosyaya bir bağlantıdır. . Basamaklı yapılandırmalar kullanılabilir, ancak pratikte bu işlevselliğe ihtiyacım yok. Ayrıca F8, bulunan dosyayı ve "ana" dosyamı .vimrc
yeni bir sekmede açmam için ...
Bu yerel yapılandırmaların içinde, açılmış her dosya için ayrıştırıldığından, eşlemeleri ve ayarları arabellek-yerel olarak ayarladığınızdan emin olun. Örneğin
nnoremap <buffer> <F3> :silent !p4 edit %<CR>:w!<CR>:e<CR>
nnoremap <buffer> <S-F3> :w<CR>:silent !p4 add %<CR>
nnoremap <buffer> <C-F3> :silent !p4 diff %<CR>
nnoremap <buffer> <S-C-F3> :silent !p4vc timelapse %<CR>
setlocal textwidth=101
setlocal noexpandtab
setlocal shiftwidth=4
setlocal tabstop=4
setlocal cinoptions=:0g0(0l1j0*700s+s