我是否需要在电脑上手动设置$ VIMRUNTIME

时间:2013-05-08 11:44:35

标签: windows vim

对我来说,我认为情况如下:

$VIMRUNTIME='C:/Program Files (x86)/Vim/vim73'

但是,如果我查看电脑的环境变量(通过电脑>属性等),我看不到这条路径 - 我应该手动添加吗?

_vimrc目前如下所示:

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()

" Use CTRL-S for saving, also in Insert mode
:nnoremap <C-S>     :<C-U>update<CR>
:vnoremap <C-S>     :<C-U>update<CR>gv
:cnoremap <C-S>     <C-C>:update<CR>
:inoremap <C-S>     <C-O>:update<CR>

function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

1 个答案:

答案 0 :(得分:3)

没有。 $VIMRUNTIME是一个特殊的环境变量,由Vim自动设置。

:help $VIMRUNTIME已经告诉过你了:

  

你通常不会自己设置$ VIMRUNTIME,但让Vim弄明白。

了解优秀而全面的:help是如何构建的;所有信息都在那里(你只需要知道如何找到它)!