2011年6月15日 星期三

在 Windows 的 VIM 中顯示中文

在windows 裡面 裝了vim 可以平常就可以練習 vim 的相關指令 不要特別在開 也可以寫些簡單的 script 給Freebsd使用 但是忽然裝完後卻不能顯示中文 只看到中文都是一堆亂慢 拜讀Google大神後 發現 原來要修改一下環境變數

修改 vim 程式目錄下的 C:\Program Files (x86)\Vim\_vimrc 這個檔案

set nocompatible
" Set fileencodings # 這兩行為增加的部分
set fileencodings=ucs-bom,utf-8,gbk,big5 # 增加部分
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
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

將紅色字的部分加入後 就可以了正常顯示中文了 (#號後面為說明 不必放到裡面)

沒有留言:

張貼留言