,写代码时是不是总是把标点写成中文的而引起报错呢?今天看到有想在Vim下把中文标点替换成英文标点的.遂研究了一下,其实很简单,无外乎查找替换.把线面的代码复制到.vimrc里就可以了,按Ctrl-s就会自动替换你当前buffer里的中文标点为英文标点.减少你代码出错的几率.

 

  1. """""""""""""""""""""""""""""" 
  2. "Chinese Punctuation  
  3. """""""""""""""""""""""""""""" 
  4. function! CheckChineseMark()  
  5.     "依次检查  
  6.     if search('。')  
  7.         let s:line=search('。')  
  8.         execute s:line . "s/。/\./g" 
  9.     endif  
  10.  
  11.     if search(',')  
  12.         let s:line=search(',')  
  13.         execute s:line . "s/,/,/g" 
  14.     endif  
  15.  
  16.     if search(';')  
  17.         let s:line=search(';')  
  18.         execute s:line . "s/;/,/g" 
  19.  
  20.     endif  
  21.       
  22.     if  search('?')  
  23.         let s:line=search('?')  
  24.         execute s:line . "s/?/?/g" 
  25.     endif  
  26.  
  27.     if search(':')  
  28.         let s:line=search(':')  
  29.         execute s:line . "s/:/\:/g" 
  30.     endif  
  31.  
  32.     if search('‘')  
  33.         let s:line=search('‘')  
  34.         execute s:line . "s/‘/\'/g" 
  35.     endif  
  36.  
  37.     if search('’')  
  38.         let s:line=search('’')  
  39.         execute s:line . "s/’/\'/g" 
  40.     endif  
  41.  
  42.     if search('”')  
  43.         let s:line=search('”')  
  44.         execute s:line . "s/”/\"/g" 
  45.     endif  
  46.  
  47.     if search('“')  
  48.         let s:line=search('“')  
  49.         execute s:line . "s/“/\"/g" 
  50.     endif  
  51.  
  52.     if search('《')  
  53.         let s:line=search('《')  
  54.         execute s:line . "s/《/\</g" 
  55.     endif  
  56.  
  57.     if search('》')  
  58.         let s:linie=search('》')  
  59.         execute s:line . "s/》/\>/g" 
  60.     endif  
  61.  
  62.     if search('——')  
  63.         let s:line=search('——')  
  64.         execute s:line . "s/——/-/g" 
  65.     endif  
  66.  
  67.     if search(')')  
  68.         let s:line=search(')')  
  69.         execute s:line . "s/)/\)/g" 
  70.     endif  
  71.  
  72.     if search('(')  
  73.         let s:line=search('(')  
  74.         execute s:line . "s/(/\(/g" 
  75.     endif  
  76.  
  77.     if search('……')  
  78.         let s:line=search('……')  
  79.         execute s:line . "s/……/^/g" 
  80.     endif  
  81.  
  82.     if search('¥')  
  83.         let s:line=search('¥')  
  84.         execute s:line . "s/¥/$/g" 
  85.     endif  
  86.  
  87.     if search('!')  
  88.         let s:line=search('!')  
  89.         execute s:line . "s/!/!/g" 
  90.     endif  
  91.  
  92.     if  search('·')  
  93.         let s:line=search('·')  
  94.         execute s:line . "s/·/`/g" 
  95.     endif  
  96.  
  97. endfunction  
  98. unmap <C-S>  
  99. map! <C-S> <ESC>:call CheckChineseMark()<ESC>:w<ESC>a