ã¯ããã«
ç§ã¯Vimãšãã£ã¿ãŒãæ¬åœã«å¥œãã§ã4幎以äžã«ããã£ãŠïŒã³ãŒããæžãããã«ïŒç§ã®ä»äºã§äœ¿çšããŠãããããã䜿çšããçµéšãå ±æããããšæã£ãŠããŸãã
ãã®èšäºã¯ãéæ³ã®ã³ãã³ãããšã¬ã·ãïŒè±èªã§ã¯ã¯ãã¯ããã¯ïŒã®ã»ããã§ã¯ãããŸããããããããããã«ãããŸãããVimã䜿çšããå®è·µã«ãããŠäººéå·¥åŠçãªã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããäžè¬ååãã©ã®ããã«é©çšã§ãããã説æããè©Šã¿ã§ãããã¹ããæäœããããã®äŸ¿å©ã§å¹æçãªç°å¢ã«ããŸãã
ãŸãããã®èšäºã¯åå¿è ã®VimãŠãŒã¶ãŒåãã®ãã¥ãŒããªã¢ã«ã§ã¯ãããŸãããããŠãŒã¶ãŒïŒããã³EmacsãŠãŒã¶ãŒïŒãèå³ãæã£ãŠããå¯èœæ§ããããŸããèšèŒãããŠããååã®ããã€ãã¯éåžžã«äžè¬çã§ãããããã¹ãç·šéã·ã¹ãã ã ãã§ãªããäžè¬çã«ç§ãã¡ã話ãå Žæã³ã³ãã¥ãŒã¿ãŒã䜿çšããŠäœããç·šéããŸãã ããã«ãããããããèªè ã¯Vimã§äœ¿çšãããåºæ¬çãªæŠå¿µïŒã¢ãŒããã¬ãžã¹ã¿ããããã¡ãã³ãã³ãïŒã«ç²ŸéããŠããã詳现ãªèª¬æã«ã¯ãã ãããªããšæããŸãã
ããã©ã«ãã§ã¯ãVimã¯éåžžã«å€ã圢åŒã§æ§æãããŠããããã®èšå®ã¯ãããã¹ããæäœãããšãã«ããŠãŒã¶ãŒã50幎åã®ã¡ã¿ãã¡ãŒãUNIXæ代ã®å€æãã®ããã«èããããšãæå³ããŸãã ãã ããVimã®èšèšã«ãããããã€ãã®èšå®ãè¡ãããšãã§ããŸãããã®åŸãã·ã¹ãã ã¯ããªãé©åã«èŠããéåžžã«å¹ççã«åäœããå€ä»£ã®Unixããã¹ãããŒã«ãšçŸä»£ã®WYSIWIGããã»ããµã®äž¡æ¹ã®æçšãªæ©èœãçµã¿åãããå¯èœãªéãæ¬ ç¹ã ãããã®èšå®ãšãã®äœ¿çšæ¹æ³ã«ã€ããŠèª¬æããŸãã
ã¢ãã«ãåè©-åè©ãã«åŸã£ãŠã³ã³ãã³ããæäœãã
ã€ã³ã¿ãŒãã§ãŒã¹ã®äººéå·¥åŠã®åéã§ããç¥ãããŠãããžã§ãã»ã©ã¹ãã³ã¯ãå€å žçãªäœåãã€ã³ã¿ãŒãã§ãŒã¹ïŒã³ã³ãã¥ãŒã¿ã·ã¹ãã ã®èšèšã«ãããæ°ããæ¹åãã§ãã³ã³ãã³ããæ±ã2ã€ã®ã¢ãã«-ãåè©-åè©ããã¢ã¯ã·ã§ã³ãæåã«èšå®ããã次ã«éžæãããã³ã³ãã³ãã«èšåããŠããŸãã³ã³ãã³ããæåã«éžæããããšãã«ãåè©-åè©ããé©çšããå¿ èŠããããŸãããã®åŸãäœããã®æäœãé©çšãããŸãã ã»ãšãã©ã®å Žåãæšå¥šãããã®ã¯åè©åè©ã¢ãã«ã§ãã ãã®å Žåãããã¯ééããªãäºå®ã§ãã è°è«ãããããªãã¯ã®ããã€ãã¯ã圌ã®æ¬ã®ååšããŸã è©Šè¡é¯èª€ã«ãã£ãŠç¥ããªãã£ããšãã«ãã©ã¹ãã³ãšã¯ç¡é¢ä¿ã«ç§ã«ãã£ãŠçºæããããã®ã§ãããšä»ãå ããŸã-ç§ã¯ç©äºã®ããŸããŸãªæ¹æ³ãè©Šãããã°ããããŠããçµæããŸãã䟿å©ãªãã®ãšããã§ãªããã®ã®ã¢ã€ãã¢ã
ãã®å Žåãæäœãå®è¡ãããã³ã³ãã³ãã¯ç·šéå¯èœãªããã¹ãã§ãã 匷調衚瀺ãããã³ã³ãã³ãã¯ãéåžžã匷調衚瀺ãããããã¹ãã§ãã
ãã ããVimã§ã¯ã匷調衚瀺ãããã³ã³ãã³ãã®æŠå¿µã¯åå²ããŠããŸãã è¡åã§ããããã«ïŒ
- èŠèŠçãªåŒ·èª¿è¡šç€ºã¢ãŒãã§åŒ·èª¿è¡šç€ºãããããã¹ãã®ãããã¯ïŒéåžžã¯ã°ã¬ãŒè¡šç€ºïŒ
- /ïŒçŸåšã®æ€çŽ¢ã¬ãžã¹ã¿ïŒã®æ£èŠè¡šçŸã«äžèŽããããã¹ãã ã€ãŸããhlsearchãªãã·ã§ã³ãæå¹ã«ãªã£ãŠãããšãã«é»è²ã§åŒ·èª¿è¡šç€ºãããã®ã¯ããã¹ãã§ãã
æåã®ã±ãŒã¹ã¯åºãç¥ãããŠããã®ã§ã詳ããã¯èª¬æããŸããã ããžã¥ã¢ã«ã¢ãŒãã§ã¯ãããã¹ãã®ãããã¯ãç°è²ã§åŒ·èª¿è¡šç€ºãããã³ãã³ããé©çšãããŸãïŒããšãã°ãã倧æåã«å€æãïŒã ãã¹ãŠãä»ã®ãšãã£ã¿ãŒãšåæ§ã
ãã€ã©ã€ã-èŠã-å®è¡æžã¿
2çªç®ã®ã±ãŒã¹ã¯ããèå³æ·±ããã®ã§ãã ãåè©-åè©ãã¢ãã«ã§ã¯ãåè©ã/ã¬ãžã¹ã¿å ã®æ£èŠè¡šçŸã«äžèŽããããã¹ãã«ããããšãã§ããŸãã åæã«ãhlsearchãªãã·ã§ã³ãæå¹ã«ãªã£ãŠããå Žåããã®ããã¹ãã¯é»è²ã§åŒ·èª¿è¡šç€ºãããŸãã ããã«ãããã匷調衚瀺-èŠãç®-ïŒãããåé€|ãããåé€|ãã®ã³ãã³ããå«ãè¡ãã³ããŒ|å¿ èŠãªã³ãã³ããå®è¡ïŒããšèšè¿°ã§ããããã¹ãã®æäœã¹ã¿ã€ã«ãéçºã§ããŸããããã§ãTHISã¯/ã¬ãžã¹ã¿ã®æ£èŠè¡šçŸã«äžèŽããããã¹ãã§ãã ãã®ã¹ã¿ã€ã«ã¯ã眮æãããåèªã®ãã¹ãŠã®åºçŸãããã¹ãå ã§ããã«è¡šç€ºããããšããäºå®ã«ããããããåèªã®ãã¹ãŠã®åºçŸãå¥ã®åèªã«çœ®ãæããããªã©ã®æäœãå®è¡ããéã«ãŸã£ããæ°ããã¬ãã«ã®å©äŸ¿æ§ãæäŸããŸãã ãã®ãããªã¹ã¿ã€ã«ãžã®ç§»è¡åŸã倧é眮æã®å€ãã¹ã¿ã€ã«ã«æ»ãããšã¯å®éäžäžå¯èœã§ãïŒãå€ãã¹ã¿ã€ã«ããšã¯ãããšãã°ãFarãããŒãžã£ãŒã®ããã¹ããšãã£ã¿ãŒã§ããã¹ãŠçœ®æãã³ãã³ããå®è£ ããããšãæå³ããŸããäžèŠã§ããããå亀æã®ç¢ºèªãæ±ããŠãäœæ¥ã§äžå¿ èŠãªè¿·æãªheãäœæããŸãïŒã äºåã®èŠèŠç匷調衚瀺ã䜿çšãããšã倧é眮æãåæ§ã®æäœãè¡ããšãã«ãšã©ãŒãèµ·ãããªã¹ã¯ãæå°éã«æããããŸãã
ããã«ãã匷調衚瀺-å®è¡-å®è¡ãã¹ã¿ã€ã«ã䜿çšãããšãã«éåžžã«äŸ¿å©ã§ããããšãå€æããããã€ãã®èšå®ã«ã€ããŠèª¬æããŸãã
_vimrcæ§æãã¡ã€ã«ã®è¡ïŒ
" ,
nnoremap * *N
" : Ctrl-F8
nnoremap <C-F8> :nohlsearch<CR>
圌ããäœãããã®ã説æãããŠãã ããã Vimã«ã¯çµã¿èŸŒã¿ã®*ã³ãã³ãïŒã¢ã¹ã¿ãªã¹ã¯ãéåžžã¢ãŒãã§Shift + 8ãæŒãããšã§åŒã³åºãããŸãïŒããããçŸåšã®åèªïŒã«ãŒãœã«ã眮ãããŠããïŒãæ€çŽ¢ã¬ãžã¹ã¿/ã«é 眮ããããã¹ãå ã§ãã®åèªã®æ¬¡ã®åºçŸãæ€çŽ¢ããã«ãŒãœã«ããã®æ¬¡ã®åºçŸã«ç§»åããŸãã ããã«ããã®åèªã®åºçŸç®æã匷調衚瀺ãããŸãïŒå®éã«ããæ€çŽ¢ã¬ãžã¹ã¿ã®æ£èŠè¡šçŸã«äžèŽããããã¹ãã§ãããå®éã«ã¯ãã®å Žåã¯çŸåšã®åèªã®åºçŸç®æãæ£ç¢ºã«æå³ããŸãïŒã ç§ã®æèŠã§ã¯ããã®ã³ãã³ãã¯æ£ããå®è£ ãããŠããŸããã 次ã®åèªã«ãžã£ã³ãããã®ã¯ééã£ãŠãããšæããŸãããã®ãžã£ã³ãã¯æèããå€ããŠãããããç»é¢äžã®ããã¹ããå€æŽãããå¯èœæ§ããããŸãïŒæ¬¡ã®åºçŸã¯ã©ããã«ãªããããã¹ãã¯å®å šã«ãªãã¿ã®ãªããã®ã«å€ããå¯èœæ§ããããŸãïŒã ãããã£ãŠãã³ãã³ãã®ã»ãã³ãã£ã¯ã¹ããçŸåšã®åèªã匷調衚瀺ããŸãããã«ãŒãœã«äœçœ®ã¯å€æŽããŸããããšããæåã®ãããã³ã°ã䜿çšããŸãã 2çªç®ã®ãããã³ã°ã¯ãããã¯ã©ã€ãããªã»ãããããããããŒãå²ãåœãŠãããã«äœ¿çšãããŸãïŒäººéå·¥åŠçãªçç±ã«ãããããã€ã©ã€ãã-ãããã¯ã©ã€ãã®ãªã»ãããã³ãã³ãã¯ãã¢ã§äœ¿çšãããããšãå€ãããã*ã³ãã³ããé 眮ãããŠãã8ããŒã«è¿ãå¿ èŠããããŸããããšãã°ã ãã«ãŒãœã«ã§çŸåšç«ã£ãŠããå€æ°ã®ãã¹ãŠã®åºçŸã匷調衚瀺ãããæ¹æ³ãå€æ°ã匷調衚瀺ãããããŒã«ã«ã¿ã¹ã¯ã解決ãããåŸããã以äžã®äœæ¥ãã泚æãããããªãããã«ããã¯ã©ã€ãããªã»ããããããšããå§ãããŸãã ããã€ã©ã€ããããã³ãç §æããªã»ããããšã®éã®å®åäœæéééã«å¯ã1ç§ã«äœæžããããšãã§ããŸãïŒã åèªã匷調衚瀺ãããåŸãå¿ èŠã«å¿ããŠãnããã³Nã³ãã³ãã䜿çšããŠãåºçŸç®æã§ååŸã«ãžã£ã³ãã§ããŸãã
" *
vnoremap * y :execute ":let @/=@\""<CR> :execute "set hlsearch"<CR>
ããã¯ã*ã³ãã³ããåèªã«å¯ŸããŠè¡ãã®ãšåãã§ãããèŠèŠã¢ãŒãã§éžæããããã©ã°ã¡ã³ãã«é©çšãããŸãã åèªïŒã¹ããŒã¹ã§å²ãŸããïŒã§ã¯ãªããããšãã°äžå€®ã«ã¹ããŒã¹ãå«ãŸããŠããå¯èœæ§ã®ããä»»æã®ãã©ã°ã¡ã³ãã匷調衚瀺ããå¿ èŠãããå Žåã«äœ¿çšãããŸãã
ã匷調衚瀺-èŠã-å®è¡æžã¿ãã¹ã¿ã€ã«ãšèŠèŠã¢ãŒãã䜵çšãããšãéåžžã«äŸ¿å©ãªæ¹æ³ã§ããããšãããããŸããã ãã®ãããªéžæã¹ã¿ã€ã«ã®çµã¿åããã¯ãããã®é¢æ°ã§å€æ°fooã®ååãbarã«å€æŽããããªã©ã®åé¡ã解決ããããã«äœ¿çšãããŸãã ãã®ãããªïŒããã³åæ§ã®ïŒã¿ã¹ã¯ã¯ãäžé£ã®ã¢ã¯ã·ã§ã³ã«ãã£ãŠè§£æ±ºãããŸãã
- ã³ãã³ãã§fooã匷調衚瀺ããŸã*
- èŠèŠçãªåŒ·èª¿è¡šç€ºã¢ãŒãã«ç§»åããçŸåšã®æ©èœãéžæããŸã
- 眮æã³ãã³ããæå®ããŸãïŒ '<ã'> s // bar / g
æå '<ã'>ã¯ãçŸåšéžæãããŠãããããã¯ã®éå§ãšçµäºã瀺ããã³ãã³ãã®é©çšç¯å²ã決å®ããŸããsãVimã¯ãããžã¥ã¢ã«ãã€ã©ã€ãã¢ãŒãããã³ãã³ããçºè¡ããããšèªåçã«çœ®ãæããããŸãã ã³ãã³ãã®æåã®åŒæ°ãçç¥ãããŸãïŒsãå ¥åããå¿ èŠããªããã-çç¥ãããå ŽåãVimã¯çŸåšã®æ€çŽ¢ã¬ãžã¹ã¿ã®å 容ããã®åŒæ°ãšããŠäœ¿çšããŸãã ããããŸãã«é»è²ã§åŒ·èª¿è¡šç€ºãããŠãããã®ã§ãã
ãããã£ãŠãå¯èŠæ§ãå®çŸãããŸãã ã¬ãžã¹ã¿/ã®å 容ã¯é»è²ã§åŒ·èª¿è¡šç€ºãããŠããããã眮ãæããããå 容ã衚瀺ãããŸãã èŠèŠçãªåŒ·èª¿è¡šç€ºã¢ãŒãã§éžæããããããã¯ã¯ç°è²ã§åŒ·èª¿è¡šç€ºãããŠããããã眮æããå Žæã衚瀺ãããŸãã 次ã®ã³ãã³ããäžããããšã¯ãã®ãŸãŸã§ãïŒsã眮æããWHATã瀺ãã
ç¹å¥ãªã¢ã¯ã»ã³ãã¯ããã§ã«è¿°ã¹ãVimã®æ©èœã«å€ããŸãïŒæ®å¿µãªãããããã«ãããååšãããã©ããã¯æããã§ã¯ãããŸãããã€ã³ã¿ãŒãããäžã®ããã¥ã¡ã³ãã®èª¬æãèŠã€ãããããpokeãã¡ãœããã§ãã®ååšãèŠã€ããããšãã§ããŸãïŒ sïŒçœ®æããããã¿ãŒã³ãå¥ã®ãã¿ãŒã³ã«çœ®ãæããïŒã: dïŒåé€ããã¿ãŒã³ãå«ãè¡ã®åé€ïŒãgïŒã°ããŒãã«ããã¿ãŒã³ãå«ãè¡ã§ä»»æã®æäœãå®è¡ããïŒãªã©ãããã¹ãã®äžæ¬æäœã«äœ¿çšãããã³ãã³ãïŒã¬ãžã¹ã¿ã®å 容ã/ãšããŠäœ¿çšãã 圌ã¯èªåã®åŒã³åºãã«ãã£ãŠèœãšãrgumentaãã ããã¯éåžžã«äŸ¿å©ã§ãããã«ãã®åäœã«æ £ããŸãã å®éããã®ãæ©èœãã«ãããã匷調衚瀺-衚瀺-å®è¡ãã¢ãŒãã§ããã¹ããç·šéããããšãã§ããŸããããã¯ãã³ã³ãã¥ãŒã¿ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®ããããå Žæã§äœ¿çšããã人éã®ç¥èŠã®æ©èœãšéåžžã«äºææ§ããããŸã-ãã¡ã€ã«ãããŒãžã£ãŒã§ãã¡ã€ã«ãéžæããŸãïŒåŒ·èª¿è¡šç€ºãããŸãïŒãéžæå 容ã確èªãããããã䜿çšããŠäœããã®æäœãå®è¡ããŸãã ã°ã©ãã£ãã¯ãšãã£ã¿ãŒãä»ã®ãšãã£ã¿ãŒã§ãåãããšãèµ·ãããŸãã å®éããã®ã¹ã¿ã€ã«ã§ã®ç·šéã«å°ãæ £ãããšãä»ã®æ¹æ³ã§ç·šéããæ¹æ³ãäžæ確ã«ãªããŸãã
ãVim cookbookãããã®ããã€ãã®ã¬ã·ã
ããã«ãVimã䜿çšããããã®ã³ãã³ããšã³ããããã€ã玹ä»ããŸãããããã¯èªåã«ãšã£ãŠäŸ¿å©ã ãšæããŸãããååãšããŠããã®äœ¿çšãŸãã¯äžäœ¿çšã¯ãã§ã«å¥œã¿ãšå人çãªå¥œã¿ã®åé¡ã§ãããVimã®äœ¿çšçµéšããããŸãã 以äžã§èª¬æããããã€ãã®ã¿ã¹ã¯ã«ã¯ãããå¹æçãªãœãªã¥ãŒã·ã§ã³ãååšããå¯èœæ§ããããŸãã
ïŒg // t $-匷調衚瀺ãããå€ãå«ãè¡ããã¡ã€ã«ã®æåŸã«ã³ããŒããŸãã ããšãã°ãã¢ãžã¥ãŒã«ã§ã°ããŒãã«å€æ°ïŒsicïŒ-ããã³äœããã¹ãããã¬ã¬ã·ãŒã³ãŒãã§çºçããïŒãã©ã®ããã«äœ¿çšããããããã°ããç解ããå¿ èŠãããå Žåã
ïŒg // d-ãã€ã©ã€ããããå€ãå«ãè¡ãåé€
ïŒgïŒ// d-ãã€ã©ã€ããããå€ãå«ãŸãªãè¡ãåé€ãã
é »ç¹ã«äœ¿çšããŠãèŠããããªããéèŠã§ã¯ããããã£ãã«äœ¿çšãããªããéèŠãªæ§æã®ã³ãã³ãã®ãªã¹ãã¯ãããŒãã·ãŒãã«èšèŒããæ¹ãé©åã§ãã ããšãã°ã次ã®ãããªãã®ãèšé²ã§ããŸãã
è€æ°ã®ç©ºçœè¡ãåºçŸãããã³ã«1ã€ã®ç©ºçœè¡ã«çœ®ãæããŸãïŒãããã£ãŠã段èœéã§1è¡ã«åãã®ã£ããããããŸãïŒã
ïŒv /./,/./- j
空çœè¡ãåé€ããïŒããžã¥ã¢ã«ã¢ãŒãïŒ
ïŒ '<ã'> g / ^ $ / d
é£ç¶ããè¡ãå±éããŸãïŒåã®ã¢ã¯ã·ã§ã³ã®å察ãåè¡ã¯æ®µèœã«ãªããŸãïŒ
å段èœãããã¹ããã¡ã€ã«ã®è¡ã«ãªããšããWordãä¿åãã圢åŒãã76æåã®ããã¹ãããã©ãŒããããããšãã«å¿ èŠã§ãã
ïŒ '<ã'> s / $ / \ r / g
次ã®åé³ã¯ããã®æçšæ§ã瀺ããŠããŸãïŒ_vimrcã®ãã©ã°ã¡ã³ãïŒ
ãAlt-1ç·šéçŸåšã®åèª
nnoremap <M-1> ciw
ãAlt-5ã§çŸåšã®åèªã®æ«å°Ÿãå€æŽãã
nnoremap <M-5> cw
ã³ãŒããšããã°ã©ãã³ã°ã«Vimã䜿çšãã
ã³ãŒããæäœãããšãã«åœ¹ç«ã€ããã€ãã®ããªãã¯ã以äžã«ç€ºããŸãã å®éã«ã¯ãäœæãããã®ã¯Vimã³ãŒããæäœããããã§ããïŒã³ãŒãã ãã§ãªããããã¹ãã®æäœã«é©ããããæ®éçãªãšãã£ã¿ãŒã§ããEmacsãšã¯ç°ãªããŸãããã ããããã¯èæŠã®æåãªããŒãã§ãïŒã
ã©ãã«]ã䜿çšããŠãæŒç®åã®æ¬åŒ§å ã«ã³ãŒããããã¯ãæ¿å ¥ãããã®åŸã®é 眮ïŒã€ã³ãã³ãïŒããããšäŸ¿å©ã§ãã ããã§ãpã³ãã³ãã䜿çšããŠæŒç®åãã©ã±ããå ã«ãããã¯ãæ¿å ¥ããåŸãæ¿å ¥ããããããã¯ãå床éžæããŠãåãå ¥ãããããã©ãŒãããã«ãŒã«ã«åŸã£ãŠãã©ã±ããå ã®äœçœ®ã調æŽããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãæ¿å ¥ããããããã¯ãéžæããŸãã ããã¯ãæ¿å ¥ããããããã¯ã®æåã®è¡ã«ç«ã£ãŠãè¡ã®èŠèŠçãªåŒ·èª¿è¡šç€ºïŒã³ãã³ãVïŒã«åãæ¿ããæ¿å ¥ããããããã¯ã®æåŸã®è¡ãæå³ããç¹å¥ãªã©ãã«ã«ã³ãã³ãã移åããããšã§ç°¡åã«å®è¡ã§ããŸãïŒ ']ïŒã¢ãã¹ãããã£ã次ã«è§æ¬åŒ§ãéããïŒ ã
æŒç®åãã©ã±ããã移åããããã®matchitãã©ã°ã€ã³ã ã³ã¡ã³ãã¯äžèŠã§ãã ïŒ ã³ãã³ãã䜿çšãããšãCã®ãããªæ§æãæã€èšèªã®{and}ã®éãPascalã®beginãšendã®éãªã©ã«ã«ãŒãœã«ããžã£ã³ãããŸãããã©ã°ã€ã³ã¯æšæºã®Vimããã±ãŒãžã«å«ãŸããŠããŸãã
Ctrl-Nã«ããèªåè£å®ã ãã¡ãããæ§æ解æãšããªã³ã³ãã€ã«ããµããŒãããIDEãšåæ§ã«æ©èœããŸãããããã®ãããªIDEããªãå ŽåããŸãã¯ã€ã³ã¹ããŒã«ããããšã«æµæãããå Žåã¯æ©èœããŸãã
ã¿ã°ãžã§ãã¬ãŒã¿ãŒctagsããã³ã¿ã°ããã²ãŒã·ã§ã³ã³ãã³ãCtrl-]ïŒã«ãŒãœã«ã®äžã®æ©èœã«ç§»åïŒããã³Ctrl-TïŒæ»ãïŒã ç¹°ãè¿ãã«ãªããŸãããIDEãšæ¯èŒãããšãã·ã³ãã«ã§ãšãã©ããªãŒã¯ã§ãããã³ãŒãããã²ãŒã·ã§ã³ã¯æ©èœããŸãïŒããã«ãã³ãŒãã¯éåžžã«å€ãã50äžè¡ãéåžžã«ãã«ãããŸãã
rïŒGrep <arguments for grep>ã䜿çšããŠããCtrl-W gfã䜿çšããŠãã³ãŒãé åãæ€çŽ¢ããã³/ãŸãã¯çœ®æããŸãïŒãªãã¡ã¯ã¿ãªã³ã°çšïŒã ã³ãã³ãïŒrïŒGrepã¯ãgrepã®åºåãçŸåšã®å ŽæïŒã«ãŒãœã«ãããå ŽæïŒã«æ¿å ¥ããŸãã gfïŒgo [to] fileïŒã³ãã³ãã¯ãã«ãŒãœã«ãæ°ãããŠã£ã³ããŠïŒãŸãã¯ã¿ãïŒã«ããååã®ãã¡ã€ã«ãéããŸãã ãã¡ã€ã«åã«æ³šæãå¿ èŠãªå ŽåïŒããšãã°ããã¡ã€ã«ãã¹ã«ã¹ããŒã¹ãå«ãŸããå ŽåïŒãèŠèŠçãªåŒ·èª¿è¡šç€ºã¢ãŒãã§ãã¡ã€ã«ãžã®ãã«ãã¹ãéžæãããã®åŸgfã³ãã³ãïŒãŸãã¯Ctrl-W gfïŒãæå®ã§ããŸãã
Windowsãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã®Vimã®äœ¿çš
ã¡ã€ã³OSãšããŠWindowsã䜿çšããŠããããããããããŒãåãããã«åäœããããã«ãè¿œå ã®Vimèšå®ãè¡ã£ãŠããŸãã æšæºã®é ä¿¡ã«ã¯mswin.vimèšå®ãã¡ã€ã«ãå«ãŸããŠããã_vimrcåæåãã¡ã€ã«ã®å é ã«å«ãŸããŠããŸãã
set nocompatible
source $VIMRUNTIME/mswin.vim
behave mswin
ãã®ãã¡ã€ã«ãå«ãããšãã¯ãªããããŒããžã®ã³ããŒããã³è²Œãä»ãã³ãã³ãïŒCtrl-Cããã³Ctrl-VïŒãWindowsã®æšæºçãªæ¹æ³ã§æ©èœãå§ããŸããããã¯å®å šã«æ£åœåãããŠããŸãã
è€æ°ã®ãã¡ã€ã«ãç·šéããã«ã¯ãã¿ãã䜿çšããŸãã Vimã§ãã¡ã€ã«ãéãã«ã¯ïŒVimãæ¢ã«éããŠããå Žåããã¡ã€ã«/ãã¡ã€ã«ã®ã¿ããè¿œå ããŸãïŒãFarã¡ãã¥ãŒã®ã³ãã³ãã䜿çšããŸãïŒ
"C:\Program Files\Vim\vim73\gvim.exe" --remote-tab-silent !&
ïŒïŒïŒFarã¯ããçŸåšã®ãã¡ã€ã«ãŸãã¯éžæããããã¡ã€ã«ããæå³ããç¹å¥ãªãã¯ãã§ãïŒã å®éãããã®ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¯æ¬¡ã®ãšããã§ãã
"C:\Program Files\Vim\vim73\gvim.exe" --remote-tab-silent file1 [file2] ...
ã¿ããåãæ¿ããã«ã¯ãWindowsã®æšæºããŒããŒãã·ã§ãŒãã«ããCtrl-TabïŒShift-Ctrl-TabïŒã䜿çšããŸãã ç·Žç¿ã§ã¯ãåæã«ç·šéãããè€æ°ã®ãã¡ã€ã«ã移åããŠé£æ¥ããã¿ãã«è¡šç€ºã§ããããã«ãã¿ããå·Šå³ã«ç§»åã§ããå¿ èŠãããããšã瀺ãããŠããŸãã ããã«ã¯ã次ã®èšå®ã䜿çšããŸãã
" CTRL-Tab is Next tab
nnoremap <C-Tab> :tabnext<CR>
" CTRL-Shift-Tab is Previous tab
nnoremap <CS-Tab> :tabprevious<CR>
" use Alt-Left and Alt-Right to move current tab to left or right
nnoremap <silent> <A-Left> :execute 'silent! tabmove ' . (tabpagenr()-2)<CR>
nnoremap <silent> <A-Right> :execute 'silent! tabmove ' . tabpagenr()<CR>
" CTRL-F4 is :tabclose
nnoremap <C-F4> :tabclose<CR>
æ¿å ¥ã¢ãŒãã§äœæ¥ããå Žåãçµã¿èŸŒã¿ã®VimïŒCtrl- ^ïŒããããæšæºã®ã·ã¹ãã ã¬ã€ã¢ãŠãã¹ã€ããã³ã°ïŒéåžžã¯Alt-Shiftã§ãCapsããããŸãïŒã䜿çšããæ¹ã䟿å©ã§ãã ãããããããã¯çŽç²ã«å人çãªå¥œã¿ã§ãã
TabããŒã䜿çšããŠããŠã£ã³ããŠéã§ã«ãŒãœã«ã移åããŸãïŒVimã®çšèªã§ã¯ãïŒsplitãŸãã¯ïŒvsplitã³ãã³ãã§äœæãããããã¹ãé åïŒããããWindowsã®æšæºã§ãã
" Tab is Next window
nnoremap <Tab> <CW>w
" Shift-Tab is Previous window
nnoremap <S-Tab> <CW>W
æ°ããVimãŠãŒã¶ãŒã«ã¯æããã§ã¯ãªããã³ãïŒããŒãã·ãŒãã®äŸ¿å©ãªã³ãã³ããWindowsã¯ãªããããŒãããVimã³ãã³ãã©ã€ã³ã«è²Œãä»ããã«ã¯ãã³ãã³ããªã¿ãŒã³ã¢ãŒãïŒã³ãã³ãã¯ãªãã¯ããåŸã«ç§»åïŒã§ããå¿ èŠããããCtrl-RãæŒããŸãïŒã«ãŒãœã«ããã©ãŒã ãå€æŽããŸãïŒåŒçšç¬Šã§ïŒã次ã«Shift-8ãæŒããŸãïŒãã®ã³ã³ããã¹ãã§ã¯ããWindowsã¯ãªããããŒãã眮ãããŠããã¬ãžã¹ã¿ã®å 容ã貌ãä»ãããããšãæå³ããŸãïŒã
Ctrl-W sãšCtrl-W vã®ççž®ã³ãã³ãã§ãŠã£ã³ããŠïŒVimã®çšèªã§ã¯ãŠã£ã³ããŠïŒãåå²ããCtrl-W cã§éããã®ã䟿å©ã§ãïŒããã¯å ¥åãããããé«éã§ãïŒsplitããã³ïŒvsplitïŒ
ãããã«
Vimãšãã£ã¿ãŒã§ã®äœ¿çšã«ãããããã¹ãç·šéã®å¹çãæ¹åã§ããããã€ãã®ååãšææ³ãæ€èšããŸããã ããããããã®èšäºã§ã¯ãVimã䜿çšããŠããªãããè©ŠããŠã¿ããïŒãŸãã¯æãã§ããïŒäººããŸãã¯æ¢ã«VimãèŠãããšããããããã®ã€ã³ã¿ãŒãã§ã€ã¹ã®ç°åžžã§ç°åžžãªå€èŠ³ã®ããã«äœ¿çšãéå§ããªãã£ã人ã«èå³ããããŸããã å®éãVimã¯æã䜿ããããããŒã«ã§ã¯ãªãããã®åŠç¿æ²ç·ã¯æãç©ããã§ã¯ãããŸããã ããããå®çžŸã®ããèšèšãšåªããæè»æ§ã«ãããä»æ¥ã®é¢é£æ§ã倱ã£ãŠããªãæãå¹æçãªããã¹ãç·šéããŒã«ã®1ã€ãšãªã£ãŠããŸãã ããã«ãããã¯éçºäžã§ãããæ°ããããŒãžã§ã³ãåºãŠããŸãã Vimã䜿çšããéã®æ倧ã®å¹çã¯ãé©åãªã¢ãããŒãã䜿çšããããšã§éæãããŸãããã®ããã€ãã¯ïŒç§ãèŠãŠããããã«ïŒãã®èšäºã§åãäžããããšããŸããã
Vimã®äœ¿çšæ¹æ³ãåŠã³ããåå¿è ã®å Žåã¯ãç§èªèº«ãè¡ã£ãæ¹æ³ã§é²ãããšããå§ãããŸã-ããã±ãŒãžã«å«ãŸããŠãããã¥ãŒããªã¢ã«ãå®äºãããã«ãã·ã¹ãã ãããŠãŒã¶ãŒããã¥ã¢ã«ã®ç« ãåŸã ã«èªãã§ãã ããïŒã³ãã³ãïŒhelpã§å©çšã§ããŸãïŒé çªã«ãããã«èšèŒãããŠããã³ãã³ãã䜿çšããŠã¿ãŠãã ããããã¡ãããæ¥åžžã®æŽ»åã§Vimã䜿çšããŠãã ããã
ãæž èŽããããšãããããŸããã