중국어 문장 부호를 영어 문장 부호로 바꾸기

코드를 쓸 때 항상 문장부호를 중국어로 써서 오류를 일으키지 않습니까?오늘 Vim에서 중국어 문장 부호를 영어 문장 부호로 바꾸고 싶은 것을 보았다.마침내 연구를 해 보았는데, 사실은 매우 간단하여, 찾기와 교체를 빼놓을 수 없다.선면의 코드를 복사합니다.vimrc에서 하면 됩니다. Ctrl-s를 누르면 현재 버퍼의 중국어 문장을 영문 문장으로 자동으로 바꿉니다.코드가 잘못될 확률을 줄이세요.
 

  
  
  
  
  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

 
본문은 "cold night"블로그에서 나왔습니다. 전재는 작가에게 연락하세요!

좋은 웹페이지 즐겨찾기