ç§ã¯ãHabrahabrãã®èªè ã«èšäºã®ç¿»èš³ãæäŸããŸãããªããããããªãããããã®ïŒïŒ@ïŒNutheadsã¯viã䜿çšããã®ã§ããïŒã ãžã§ã³ã»ãã«ãã©ã³ã»ãã»ãšã¬ãã£ã¢ãå·çã
ã¯ããä¿¡ããããªããããããŸãããã30幎以äžåã«å ãèŠãviãšãã£ã¿ãŒïŒãããŠåœŒã®è¥ããçŽ15æ³ã®æé«ã®ã¯ããŒã³ãšå€§ããªæ¹å-vimïŒã«ã¯å€ãã®ãã¡ã³ãããŸãã
ãããã圌ãã¯ææ°ã®ç¶æ ãä¿ã¡ãããªãæç«ã§ã¯ãããŸãããviãŠãŒã¶ãŒã³ãã¥ããã£ã¯æé·ãç¶ããŠããŸããç§ã¯ãããã2幎åã«ïŒããã°ã©ããŒãšããŠ10幎åããåŸïŒå§ããŸããã åéã¯ä»viã«åãæ¿ããŠããŸãã å°çãã»ãšãã©ã®viãŠãŒã¶ãŒã¯ãããæžããããšãã«çãŸãããããªãã£ãïŒ
ã¯ããvi / vimç·šéã¢ãã«ãä»ã®ã©ã®ã¢ãã«ãããåªããŠããç¹å®ã®çç±ããããŸãã viã䜿çšããããã«Unixã®å°é家ã§ããå¿ èŠã¯ãããŸãããã»ãšãã©ã®æ¢åã®ãã©ãããã©ãŒã ã§ç¡æã§å©çšã§ããŸãã ã»ãšãã©ã®IDEã«ã¯ããã®æ©èœã䜿çšã§ãããã©ã°ã€ã³ããããŸãã ããã€ãã®èª€è§£ãææãããã®åªäœæ§ã瀺ãããã€ãã®äŸãèããŠã¿ãŸãããã
誀解ïŒ1ïŒã¢ãŒãã«ç·šé
æåã«viãŸãã¯vimã«åºäŒã£ããšããå ¥åãéå§ããããã«ãiããæŒãå¿ èŠãããããšã«ã·ã§ãã¯ãšããããããŸãã ã©ã®ãhjkjlããã¿ã³ãã©ã®æ¹åãæ åœããŠããã®ãæãåºããŸããã ãããŠãè¡ã®æåŸã«å°å·ããã«ã¯ãaããæŒãå¿ èŠããããŸãã ãããããã§ã«ä»ã®ãšãã£ã¿ãŒã䜿çšããŠãããç¢å°ããã²ãŒã·ã§ã³ã¯å ¥åã¢ãŒãã§æ©èœããããã絶察ã«å¿ èŠãªå Žåã«ã®ã¿ã³ãã³ãã¢ãŒãã«åãæ¿ããŠäœ¿çšããŸãã ãã¶ããããªãã¯ããã«20åãè²»ããã絶ããäžå¹³ãèšãã§ãããã -äºåºŠãšviã䜿ããããªãã
ããããããã¯viã䜿çšãã絶察ã«ééã£ãæ¹æ³ã§ãã é©åãªäœ¿çšã¯ã¢ãŒãã«ã§ã¯ãããŸããã åžžã«ã³ãã³ãã¢ãŒãã§ãçããççºçãªãã¿ã€ãã³ã°ã®å Žåã®ã¿å ¥åã¢ãŒãã«å ¥ãããã®åŸããã«ã³ãã³ãã¢ãŒãã«æ»ããŸãã ã ãããåé¡ã¯èŠããŠããŸãã-ã©ã®ã¢ãŒããååšããªããã§ããå ¥åã¢ãŒãã§ã¯é»è©±ã«åºãŸããããæ»ã£ããšããèªåãã©ãã«ããããæãåºãããšããŸãã ã³ãŒããæžããé»è©±ã鳎ããã³ãã³ãã¢ãŒãã«æ»ããã³ãŒã«ã«å¿çããŸãã ãŸãã¯ãåæãããããã«æ»ããŸãããå ¥åã¢ãŒããéåžžã®äœæ¥ã¢ãŒããšã¯æ±ºããŠæããŸããã
ãã®èåŸã«ããå²åŠã説æãããŠãã ããã
viã³ãã³ãã¯çµåãããããã«èšèšãããŠããŸãïŒãdãã¯åé€ãæå³ãããeãã¯ã«ãŒãœã«ãåèªã®æ«å°Ÿã«ç§»åããããšãæå³ããããããdeãã¯ãçŸåšã®ã«ãŒãœã«äœçœ®ãã次ã®åèªã®æ«å°ŸãŸã§ããã¹ãŠåé€ãããããšãæå³ããå®å šãªã³ãã³ãã§ãïŒäœãã»ãšãã©ã®éåžžã®ãšãã£ã¿ãŒã®Ctrl-Shift-RightãLeftãDelãªã©ïŒã
ããã®æåã®è¯å®çãªçµæã¯ãã³ãã³ãããã æåŸã«å®äºããçµåç·šéã³ãã³ããç¹°ãè¿ããŸãïŒãã ãã移åã³ãã³ãã¯ç¹°ãè¿ããŸããïŒã ãdwããããããæŒããåŸ ãçŸåšã®ã«ãŒãœã«äœçœ®ãã次ã®åèªéå§ãŸã§åé€ãã³ãã³ãã®ããã«åäœããŸãã ããã²ãŒã·ã§ã³ã³ãã³ãã®ãã¹ãŠã®æ©èœã䜿çšããŠãã¡ã€ã«ãããã²ãŒãããããããæŒãããšãã§ããŸãã 次ã®åèªãå§ãŸãåã«ãã¹ãŠãåé€ããå¿ èŠãããå Žåã¯ãéåžžã«è¿ éã«ã ãã®æ©èœã¯éåžžã«åŒ·åã§ãã
ãããŠãä»åºŠã¯å ¥åã³ãã³ãã«å°éããŸããã ãããã®ã³ãã³ãã¯ãããããã«åºæã®ã¢ã¯ã·ã§ã³ãå®è¡ããåŸããšãã£ã¿ãŒãå ¥åã¢ãŒãã«ããŠãããã¹ããå ¥åã§ããããã«ããŸãã ãã®ããããããã®ã³ãã³ãã®å Žåãã³ãã³ãã®å šæã«ã¯ããiãïŒãŸãã¯ããã§äœ¿çšããå ¥åã³ãã³ãïŒããã³ãã³ãã¢ãŒãã«æ»ããŸã§ã®éã«å ¥åãããã¹ãŠã®ããã¹ããå«ãŸããŸãã
ããã¯ãçŸåšã®ã«ãŒãœã«äœçœ®ã«ãHelloããšå ¥åãããiHello [ESC]ããšå ¥åãããšããããã«ãªããŸãã çŸåšã®ã«ãŒãœã«äœçœ®ã«ãHelloããšå ¥åããã³ãã³ãã§ãã ããã ãã§ãã ãã®æ©äŒãããã«åŒ·åãæ³åã§ããŸãã ãAãã¯ã«ãŒãœã«ãè¡æ«ã«ç§»åããå ¥åã¢ãŒããã¢ã¯ãã£ãã«ããŸãã [ESC]ãæŒããŠãã€ã€ã«ãå®äºããããããããæŒããŸãã è¡æ«ã§å ¥åãç¹°ãè¿ãä»»æã®å Žæã
å¥ã®ããã«å°è±¡çãªäŸïŒãceãã³ãã³ãã¯ããcãã³ãã³ããšãeãã³ãã³ãã®çµã¿åããã§ãã 'c'hange'ã³ãã³ãã¯ã次ã®ç§»åã³ãã³ãã§ç€ºãããç¯å²ãåé€ããå ¥åã¢ãŒããã¢ã¯ãã£ãã«ããŸãã ã³ãã³ã 'd'ã«äŒŒãŠããŸãããã³ãã³ãã¢ãŒããçµäºããŸãã ããã«ã次ã®ïŒçãïŒå ¥åã»ãã·ã§ã³äžã«å ¥åãããããã¹ããã³ãã³ãã®äžéšã§ãã ãããã£ãŠããceHello [ESC]ããšå ¥åãããšãçŸåšã®ã«ãŒãœã«äœçœ®ããåèªã®æåŸãŸã§ã®åèªã®äžéšããHelloãã«çœ®ãæãããããã®åŸã³ãã³ããããã«çœ®ãæããããŸãã ãã®ãšã³ããªãå¿ èŠãªåæ°ç¹°ãè¿ãããšãã§ããŸãã
移åã³ãã³ãã¯ãããè€éã§ãããŸããŸãªç·šéã³ãã³ãã§è£å®ããããšãã§ããŸãïŒãoã-ãçŸåšã®äžã«æ°ããè¡ãäœæãããOã-ãçŸåšã®äžã«è¡ãäœæãããSã- ãè¡æ«ãŸã§ãã¹ãŠãåé€ããããªã©ããã¹ãŠå ¥åã¢ãŒãã«ãªããŸãã ããããæŒãã ãã§ãã©ã®ç·šéãã¿ãŒã³ãäœæããŠç¹°ãè¿ãããšãã§ãããæ³åããŠã¿ãŠãã ããïŒ
äŸ1ïŒçŽ æŽããããããããŒã
äŸãèŠãŠã¿ãŸãããã ããããŒãã¡ã€ã«ã§3ã€ã®æ°ããé¢æ°ãçºè¡šããããããã¢ãžã¥ãŒã«ã«å®è£ ããå¿ èŠããããšããŸãã 次ã®ããã¹ããã³ããŒããŠãã¢ãžã¥ãŒã«ãã¡ã€ã«ã«è²Œãä»ããŸãã
ãã¹ãŠã®ã³ãŒãã¯ããã§å§ãŸããŸãããïŒ ããã§ãã»ãã³ãã³ãåé€ããŠç©ºã®é¢æ°æ¬äœãè¿œå ãããšããã§ãããã äžã®å³ã®ããã«ã«ãŒãœã«ã眮ããç¶æ ã§ããAããæŒããšãè¡æ«ã®å ¥åã«çŽæ¥ç§»åã§ããŸãã
è¡ã®çµããã«å ¥åã¢ãŒãã®ã«ãŒãœã«ãããããšã«æ³šæããŠãã ããã ããã§ãã;ããåé€ããå¿ èŠããããŸã [BACKSPACE]ã䜿çšããã[ENTER] {[ENTER]} [ENTER]ããšå ¥åããŠãä»ã®ããã¹ããšãã£ã¿ãŒãšåæ§ã«ç©ºã®é¢æ°æ¬äœãäœæããŸãã
ããã§ããšã¹ã±ãŒããæŒããŠã³ãã³ãã¢ãŒããçµäºããŸãã
ãããŠä»ãããããã¹ãŠãæ®ãã®2ã€ã§ç¹°ãè¿ããŸãã ã©ããã£ãŠããã®ïŒ ç°¡åïŒãjããæŒããŠã«ãŒãœã«ã1è¡äžã«ç§»åããããããæŒããŠç·šéãç¹°ãè¿ããŸãïŒãAããæŒããŠãã[ESC]ã«ïŒã ãjjããæŒããšã次ã®çµæãåŸãããŸãã
ãã 'jj'ïŒ ããã§éèŠãªã®ã¯ãviã³ãã³ãã¢ãŒããã¯ãã£ãšã[BACKSPACE]ãéåžžã®ã¿ã€ãã³ã°ãšåæ§ã«ç·šéããã»ã¹ã®äžéšã§ãããšããäºå®ãšãç·šéæäœã®åçŸæ§ãé«ããšããäºå®ã§ãã æ¯æ¥ã®ç·šéã®äœåç¹°ãè¿ãå¯èœããèããŠãã ããã ãããããæã£ãã
誀解ïŒ2ïŒæ£èŠè¡šçŸã§ã¯ãããŸãã
Vi / Vimã¯æ£èŠè¡šçŸåŠçã§çŽ æŽãããä»äºãããŸãã å€ããå°ãªããçé¢ç®ãªããã¹ããšãã£ã¿ãŒã¯æ£èŠè¡šçŸããµããŒãããŠããŸã-æ€çŽ¢ã眮æãªã©ãããããviïŒç§ãç¥ã£ãŠãããã®ã®ïŒã®ã¿ããprocãå«ãè¡ã®åŸã«ãã2çªç®ã®å å«ãæ€çŽ¢ããŠçœ®æãã®ãããªè€éãªçµã¿åããã䜿çšã§ããŸãããŸãã¯ä»ã«æãæµ®ãã¶ããšã¯äœã§ããããŸãã
ãããã£ãŠãæ£èŠè¡šçŸã®äŸ¡å€ããvi / vimãããããåŠçããèœåã軜èŠããããããŸããã ããããviã®çã®åãããã䜿çšããæ¹æ³ãåŠãã åŸã«ãªããã°çããããªãåã¯ãåºæ¬çãªããã¹ãç·šéã¢ãã«ã®åã§ãã
- 1è¡ãŸãã¯2è¡ã®ã³ãã³ãã§ãè¡ãŸãã¯ç»é¢äžã§å¿ èŠãªå Žæã«æ£ç¢ºã«ç§»åã§ããŸãã
- 'd'ã 'c'ãªã©ã®ã³ãã³ãã¯ã移åã³ãã³ããšçµã¿åããããšãç®çã®ã³ãŒããçŽæ¥å€æŽã§ããã¯ãªãã¯ããã ãã§ç·šéãç¹°ãè¿ãããšãã§ããŸãã
- ããŒããŒãäžã®æã¯åžžã«å¿«é©ãªäœçœ®ã«ãããŸãã ç·šéã¯ãPCãšã©ãããããã®äž¡æ¹ã§åæ§ã«å¿«é©ã§ãã
äŸ2ïŒã¹ããŒãç¯å²
次ã®å žåçãªäŸãèŠãŠã¿ãŸãããã ããã¯ãããçš®ã®è€éãªåŒã«çµã¿èŸŒãŸããåãªãé¢æ°åŒã³åºãã§ãã
ã芧ã®ãšãããã«ãŒãœã«ã¯é¢æ°åŒã³åºãã®å é ã«ãããŸãã ããããåé€ããŠãããŒã«ã«å€æ°ã«å²ãåœãŠãããšæ³åããŠãã ããã ãŸããé¢æ°åŒã³åºãã匷調衚瀺ããã³ããŒããŠåé€ããå€æ°ã®ååãå ¥åãããã®å€æ°ã宣èšããããã«1è¡äžã«ç§»åããå¿ èŠããããŸãã éåžžã®ç·šéã¢ãã«ã«åŸã£ãŠãCtrlããŒãæŒããªããå³ããŒãæŒããŠããã¹ãŠãæ£ããå®è¡ãããŸã§å·Š/å³ã§åçãéå§ããŸãã ããããvi / vimã§ã¯ãããŸããã 移åã³ãã³ã 'ïŒ 'ã䜿çšãããšãéãè§ãã£ãïŒãŸãã¯ä»ã®ã°ã«ãŒãåæåïŒãã察å¿ããéãè§ãã£ãã«ç§»åã§ããŸã-ãã ããã«ãŒãœã«ããããã®ç¹æ®æåã®ããããã«ãªãå Žåãvimã¯ãã®ãããªæåã®æåãŸã§å³ã«ç§»åããã«ãŒãœã«ã察å¿ããéãæåã«ç§»åããŸãã ã€ãŸãããã®å Žåãã«ãŒãœã«ã¯é¢æ°åŒã³åºãã®éãæ¬åŒ§ã«çŽæ¥ç§»åããŸãïŒ
ãcãã³ãã³ãã¯ãããã«ç¶ã移åã®å šé·ã«æ²¿ã£ãŠããã¹ããåé€ããããšãç¥ã£ãŠããïŒãŸããã¯ãªããããŒãã«ã³ããŒããŸãïŒããcïŒ ããšå ¥åããã ãã§æ¬¡ã®ããã«ãªããŸãã
é¢æ°åŒã³åºããã¯ãªããããŒãã«ã³ããŒãããå€æ°ã®ååãå ¥åããæºåãæŽããŸããã 2ã€ã®ãã¿ã³ãæªããªãïŒ å€æ°åãå ¥åããŠ[ESC]ãæŒããåŸïŒ
ã³ãã³ãã¢ãŒãã§ã¯ããOããæŒããŠçŸåšã®è¡ã®äžã«è¡ãäœæããå ¥åã¢ãŒãã«ããŠãå€æ°ã宣èšã§ããŸãã
ããã§ãé¢æ°åŒã³åºãã貌ãä»ããå¿ èŠããããŸããé¢æ°åŒã³åºãã¯æ¢ã«ã¯ãªããããŒãã«ããã®ã§ãCtrl-RãæŒããŠè²Œãä»ããããšãã§ããŸãã次ã«ããïŒå°ãçŽæçã§ã¯ãããŸããããããã¯æšæºã¯ãªããããŒããã貌ãä»ããããã®çµã¿åããã§ãïŒãããESC ]ïŒ
誀解ïŒ3ïŒããªãã¯ããã䜿çšããããã«ç²Ÿç¥çããã³/ãŸãã¯å€©æã§ãªããã°ãªããŸãã
ããŠãäžèšã®èª¬æãšäŸã®ãããã§ãvi / vimã«ãã£ãŠæäŸãããå¯èœæ§ã®ããæ©äŒãç解ã§ããããšãé¡ã£ãŠããŸãã åŠã¶ã®ã¯é£ããã§ããïŒäžèšãã芧ãã ããïŒãäœå¹Žã1æ¥8æé以äžã³ãŒãã£ã³ã°ããã€ãããªããããã¯ãã¿ããã¹ã¯ãªãŒã³ãã«ç¶ããŠ2çªç®ã«åªããæè³ã§ãïŒæ¢ã«ç¿åŸæžã¿ã§ããïŒããã§ãªãå Žåã¯ãå§ããŠãã ããïŒã æ°é±éãéãããåŸãããªãã¯äžçé åœãåãåããŸãã
éèŠãªã®ã¯ãviã䜿çšãããšãããŒããŒãã¯100以äžã®ãã¿ã³ãæã€ããã¹ããç·šéããããã®ç¹æ®ãªã²ãŒã ãããã«å€ãããåãã¿ã³ã«ã¯å°ãªããšã2ã€ã®æ©èœããã-æå·ãããšæå·ãªã; ãããã£ãŠããã¿ã³ãã¯ãªãã¯ããã ãã§æ¢ã«200ã®æ©èœãå©çšã§ããŸãïŒã·ããã¯ã«ãŠã³ãããŸããïŒïŒçŽtranslãïŒèè ãå€ãã«ãŠã³ããããã®ã§ã2ã§å®å šã«åå²ã§ããŸãïŒã 匷åãªããŒã èªäœãäºãã«çµã¿åãããŠãæé«ã®çµæãåŸãããšãã§ããŸãã ããã¯å ¥åæã®æšæºããŒããŒãã§ãããã³ãã³ãã¢ãŒãã«æ»ããšãçæ³çãªããã¹ãç·šéæ©ã«ãªããŸã
äŸ3ïŒåºåããããã¯ã®æäœ
å¥ã®ç°¡åãªäŸã ç¹å®ã®ç§»åã³ãã³ãã®1ã€ã䜿çšãããããvimã§ã®ã¿æ©èœããŸãã å±±æ¬åŒ§ã§å²ãŸãããããã¯ã®äžã«ãããšããŸããããããã¯ãä»æ¥ã®XMLã§ã¯çããããšã§ã¯ãããŸããã
å éšã®ããã¹ããéžæããŠã³ããŒ/å€æŽ/åé€ããæ¹æ³ã¯ïŒ éåžžã®ããã¹ããšãã£ã¿ã§ã¯ãçŸåšã®å¿«é©ãªäœçœ®ããæãé¢ããŠç¢å°ã䜿çšããããããŠã¹ã§ããã«æªãæäœã匷ããããŸãã ãããã®ãªãã·ã§ã³ã¯ãããããç¹ã«ã©ãããããã§ã¯äŸ¿å©ã§ã¯ãããŸããã vimã§ãããè¡ãæ¹æ³ ã³ãã³ãã®1ã€ã䜿çšããŠãããããããiããŸãã¯ãaãã§å§ãŸãããã¹ããªããžã§ã¯ãã移åããŸãïŒãããã®æåã¯ç·šéã³ãã³ããšããŠã䜿çšãããããããdããŸãã¯ãcãã³ãã³ãã®åŸã«ã®ã¿ç¶ãããšãã§ããŸãïŒ ãå±±æ¬åŒ§ã§å²ãŸããçŸåšã®ãããã¯ãæå³ããŸããããã§ããiãã¯ãå åŽãã§ãããããã£ãŠããdi>ããšå ¥åããŠå±±æ¬åŒ§å ã®ãã¹ãŠã®ããã¹ããåé€ã§ããŸãã
'ïŒ'ãŸã㯠'ïŒ'ã䜿çšããŠãè§æ¬åŒ§ïŒãŸã㯠'block'ãã 'b'ïŒã§åºåãããçŸåšã®ãããã¯ã匷調衚瀺ã§ããŸãã '{'ãŸã㯠'}'ã '['ãŸã㯠']'ã 'w'ã¯æéçã«åŒ·èª¿è¡šç€ºãããŸãåèªããŸãã¯ã¹ããŒã¹ãå«ãåèªã®å Žåã¯ãWããå éšã³ã³ãã³ãã®å Žåã¯ãiãã®ããããããŸãã¯åºåãæåã匷調衚瀺ããå Žåã¯ãaã
誀解ïŒ4ïŒãhjklãã¯ããã¹ãå ã移åããŸããïŒ
å€ãã®äººã ã¯ãç¢å°ã®ä»£ããã«hjklã䜿çšããããšãå¥åŠã«æããŠããŸãã ãã®å®è£ ã®æ¬åœã®çç±ã¯ããã®ãããªç«¯æ«ã«ç¢ããªããŠãhjklããŒãäœåãªè² è·ãéãã ããšã®ããã§ãã ãããããã®é 眮ã®å¯äœçšã¯ãå¿«é©ãªäœçœ®ããæãé¢ãå¿ èŠããªãããšã§ããããã¯çŽ æŽãããããšã§ãã
ãããã«ãããæåã¯hjklã䜿çšããŠããã¹ãå ã移åããŸãããvi / vimãç¿åŸããå Žåããhãããã³ãlãããŒã®äœ¿çšãæåŠããå¯èœæ§ãé«ããªããŸãã ãªãã§ïŒ ã«ãŒãœã«ãããã¹ãå ã®é©åãªå Žæã«ãã°ãã移åã§ããããã匷åãªã³ãã³ããããããã§ãã è¡ãç·šéãããšãã¯ãåžžã«åžæã®æåã«çŽæ¥ç§»åãã移åã³ãã³ããããã次ã䜿çšããããšãããããŸããïŒãfãã¯ã次ã®åºçŸãæ€çŽ¢ãããæåã§è£å®ããããïŒ ãã¯æ¬åŒ§éã§ç§»åãããªã© ãã¡ã€ã«ãããã²ãŒããããšãã¯ãã³ãã³ãã䜿çšããŠç»é¢ã®äžäž/äžå€®/äžã«çŽæ¥ç§»åã§ããŸããã/ãã§ã¯ã€ãã¯æ€çŽ¢ãã]]ãããã³ãã®å åŒã䜿çšããŠæ©èœãããã²ãŒãã§ããŸãã
äŸ4ïŒçŽ æŽãããããŒã
äžéšã®ã³ãã³ãã¯éåžžã«äŸ¿å©ãªã®ã§ã䜿çšããã®ãå¿ããŠããŸãããšããããŸãã ãHãããMããããã³ãLãã¯ãã«ãŒãœã«ãããããç»é¢ã®äžéšãäžå€®ãããã³äžéšã®è¡ã«ç§»åããŸãã ãztãããzzãããzbãã¯ã«ãŒãœã«ã移åããŸããããã«ãŒãœã«ãç»é¢ã®äžéšãäžå€®ããŸãã¯äžéšã«ãªãããã«ããã¹ããã¹ã¯ããŒã«ããŸãã ã*ãã¯ãããã¹ãå ã§ã«ãŒãœã«ãåæ¹ã«ãã次ã®åèªãæ€çŽ¢ãããïŒãã¯åŸæ¹ã«åãããšãè¡ããŸãã ãããŠããã®ãããªããŒã ã¯ãã£ãšãããããããŸã...
誀解ãã®5ïŒç§ãã¡ã¯90ïŒ ã®æéã§åé¡ãèããŠããããœãªã¥ãŒã·ã§ã³ãããã°ã©ãã³ã°ããŠããã®ã¯10ïŒ ã ããªã®ã§ãç·šéé床ãã¢ããã°ã¬ãŒãããããšã¯ã»ãšãã©åœ¹ã«ç«ã¡ãŸããã
ãŸããããã¯èªåŒµã§ããããã®åè«ã¯ã³ãŒãç·šéãæ¹åããããããæ段ã«å¯ŸããŠãã°ãã°äœ¿çšãããŸãã 圌ãäœã£ãã«éããªãã
ãŸããã³ãŒãã調ã¹ãªããŠãåé¡ã«ã€ããŠèããå¿ èŠãããå Žåã¯ãèªè»¢è»ã«ä¹ã£ãŠ1ã2æéäŒã¿ãŸãã 倩æ°ãè¯ãå Žåã¯ãã³ã³ãã¥ãŒã¿ãŒã®åã§ã¶ãã¶ãããããããã£ãšããã§ãã
ãŸããè€éãªåé¡ãåæããŠè§£æ±ºçãèãåºãå¿ èŠããããšãã¯ãããŒããšãã³ãæã«åãã圌ãã®å©ããåããŠèããã¯ãªã¢ããããšããŸãã
ãããããŸããªäŸå€ãé€ããã³ã³ãã¥ãŒã¿ãŒãªãã§çç£çã«äœæ¥ããããšã¯äžå¯èœã§ãã å®éãã»ãšãã©ã®å Žåãã³ãŒãã確èªããå¿ èŠããããŸãã ãããŠãããã§ããªãã¯ããã¹ããšãã£ã¿ãªãã§è¡ãããšã¯ã§ããŸããã ãããŠãã¡ãããéåžžã«é »ç¹ã«ããã¹ããå ¥åããããç¶ç¶çã«ç·šéããŸãã 1åãèããåŸã次ã«èããŠããå€æŽãå ããããšã«æéãè²»ãããŸãã ãããŠãã¡ãããããªãã¯ãã®ä»äºã«æé©ãªããŒã«ã䜿ããããšæãã§ãããã
ç·šéã®å¿«é©ãã«ããããæµãã®äžãã«ãšã©ãŸãããšãã§ããŸã-æé«ã®éäžåãšçç£æ§ã®ç¶æ ããã¹ããšãã£ã¿ãŒãå·§ã¿ã«äœ¿ãããªãããšã§ãç·šéãç¡æèã®ã¬ãã«ã«ç§»åããä»ã®ã¿ã¹ã¯ã®ããã«è³ã®èšç®èœåã解æŸããŸãã äžè¬çã«åãå ¥ããããŠããã¹ã¿ã€ã«ã¯æ°ãæ£ãããŸããCtrl-RightãCtrl-RightãCtrl-RightãCtrl-RightãCtrl-Rightã䜿çšããŠã³ãŒãå ã®é©åãªå Žæã«ç§»åããããŠã¹ãéžæããŠã¡ãã¥ãŒãªãã·ã§ã³ãéžæãã確èªãã€ã¢ãã°ã Vi / vimã䜿çšãããšãé©ãã»ã©å°ãªãæ°ã®ããŒã䜿çšããŠãå¿ èŠãªããšãæ£ç¢ºã«å®è¡ã§ããŸãã
ä»ã®viãŠãŒã¶ãŒãåãããšãèšã£ãŠããã®ã§ãç§ã¯ç§ã®æ°æã¡ã ãã§ã¯ãããŸããïŒviã®äœ¿çšã«ç¿çãããšããã«ããççºçãªãç·šéã®30ç§åŸã«ãç®èŠãããŠãããªããèããããšã«æ°ä»ãããšããããŸãããã¹ãã®ãããã¯ãã«ãããå€æŽã移åãããŠããéã«ãé è骚ã®åŸãã®ã©ããã«ããŒããããã ãããŠããã®ãããªç¬éã¯é©ãã¹ã匷ãã®æèŠãäžããŸãã
äŸ5ïŒãããã¯ã®é 眮
Viãšvimã¯ãã³ãŒãã«äœããã®æ§é ãããããšãç¥ã£ãŠããŸãã å€ãã®ããŒã ããããåæ ããŠããŸãã ããšãã°ãäžèšã®ãaBãã䜿çšããŸããäžæ¬åŒ§ãšè§æ¬åŒ§ã§å²ãŸããçŸåšã®ãããã¯ãéžæãïŒãa}ããåãã§ãïŒãã>ãã³ãã³ããšçµã¿åãããŠãããã«ç¶ãã³ãã³ãã§ç€ºãããé åãæããŸããå€äœã ãã®ã³ãŒããæ³åããŠãã ããïŒ
ã©ã®ãããã®é »åºŠã§ãã®ãããªèª²é¡ã«çŽé¢ããŸããïŒ ã¯ãããã¡ãããèªåæŽåïŒvimã® '] p'ïŒã§åã蟌ãããšãã§ããŸãããçªç¶ã³ããŒããŒã¹ãã§ã¯ãªããäžèšã®ã³ãŒãã®äžéšãåé€ããããããã®ãããªã³ãŒããå¿ããããŸãã¯åãåããŸããã äžè¬çã«ã¯ã調æŽããå¿ èŠããããŸãã ä»ã®ãšãã£ã¿ãŒã§ã¯ãã«ãŒãœã«ã移åãããã[Tab]ããŒãæŒãããèªåæŽåã®ããŒããŒãã·ã§ãŒãã«ãããæŒããŸãã ããããvimã§ã¯ãªãã3ã€ã®ã㌠'> aB'ãããããã¯ãæãããã ãã§ã次ã®ããã«ãªããŸãã
ããã§ãã ã«ãŒãœã«ãããã¹ããéžæããŠæããå¿ èŠã¯ãããŸãããå¿ èŠãªãã®ãæ£ç¢ºã«èšãã ãã§ãvimã¯ãã¹ãŠãå®è¡ããŸãã ããã¯ãã³ãŒããå®éã«å¶åŸ¡ãããã¹ããªãŒã å ãã«ãšã©ãŸãããšãã§ããç·šéã®ã¿ã€ãã ãšæããŸãã
誀解ïŒ6ïŒæ¶ããéå»ãžã®å·ç
Viã¯æ¢ã«30æ³*ã§ãããä»ã§ã人æ°ããããŸãã Vimã¯viã®å®å šãªã¯ããŒã³ã§ãããviã®æ©èœãããå€ãã®æ¹åç¹ãããã15幎éæå¹ã§ãããæ¢åã®ã»ãšãã©ãã¹ãŠã®ãã©ãããã©ãŒã ã«ç¡æã§é åžãããŠããŸãã viã奜ããªäººã¯ã©ãã§ãããã䜿çšããæ¹æ³ãèŠã€ããŸãïŒEclipseã®viæ©èœãããŸããŸãªMacã¢ããªã±ãŒã·ã§ã³ãIntelliJ IDEAãããã«ã¯emacsïŒ1ã€ã ãã§ãªããããã€ãã®çµã¿èŸŒã¿ã®viãšãã¥ã¬ãŒã¿ãŒïŒã䜿çšã§ãããã©ã°ã€ã³ããããŸãïŒLispã§ãšã³ã³ãŒãããå ŽåïŒ emaxãç§ã¯ãã®ããŒããŒãã·ã§ãŒãã«ããã䜿çšããããšããŠå§ããŸããããåžžã«ãMx viper-modeãã§çµãããŸããïŒãç§ã¯Visual StudioãSQL ServerãWordããã³Outlookã§vi / vimãšãã¥ã¬ãŒã·ã§ã³ãå®è£ ããããã®ãã©ã°ã€ã³ã®ViEmuãã¡ããªãéçºããã³è²©å£²ãã Paul Graham ïŒ ããã§åœŒã«ã€ããŠHabréã«ã€ã㊠ïŒã¯ããŸã viã䜿çšããŠLispãšarcãéçºããŠããŸãã im O'Reillyã¯vi-merãéãã SlickEditãšCrispã¯viããšãã¥ã¬ãŒãã§ããŸã...
ãã¡ãããviã³ãã¥ããã£ã¯ããã»ã©å€§ãããããŸãããã»ãšãã©ã®ã³ã³ãã¥ãŒã¿ãŒãŠãŒã¶ãŒã¯ã¿ããã¿ã€ãã³ã°ãç¿åŸããŠããªããããviã¯åŠç¿æ²ç·ã®æ¥åŸé ãè¿œå ããŸãã ããããå ãèŠãç§ãã¡ã¯ãvi / vimãäœå¹Žãç¹æ ããããšãä¿èšŒãããããã«ãä»ã®æ©èœã®äœãç·šéã·ã¹ãã ã«ã¯æ±ºããŠæ»ããŸããã å®éãvi / vimç·šéã¢ãã«ã䜿çšãããšãå€ãUNIXã·ã¹ãã ããææ°ã®äžè¬çãªIDEãŸã§ãã©ã®ç°å¢ã«ããŠã䜿ãæ £ããã³ãã³ãã䜿çšã§ãããšããä¿èšŒãåŸãããŸãã
* 2007幎5æ16æ¥å ¬éã®ãªãªãžãã«èšäº
äŸ6ïŒèŠèŠçæ§è³ª
æåŸã®äŸãšããŠãviãäžå¯è§£ã§å€èªã§ããªãã³ãã³ãã§ãããšæããªãããã«ãããã€ãã®ããæçœãªãªãã·ã§ã³ïŒäžè¬ã«ãviã§ã¯ãªãvimïŒãèŠãŠã¿ãŸãããã1ã€ïŒæ€çŽ¢ã®åŒ·èª¿è¡šç€ºããªã³ã®å ŽåïŒããã©ã«ãã§ã¯ãªãã§ãããéåžžåžžã«ã³ãã³ãã«å«ãŸããŸãïŒhlsearchãèšå®ããŸãïŒéšåæååãæ€çŽ¢ãããšããã®ãã¹ãŠã®ã€ã³ã¯ã«ãŒãã匷調衚瀺ãããŸãã ããšãã°ã次ã®HTMLã³ãŒãããããŸãã
ã*ããæŒããšãã«ãŒãœã«ã眮ãããŠããåèªïŒãdivãïŒã§æ€çŽ¢ãå®è¡ãããçµæãšããŠæ¬¡ã®ããã«ãªããŸãã
ã芧ã®ãšãããã«ãŒãœã«ã移åãããã¹ãŠã®å å«ç©ã匷調衚瀺ãããŠããŸãã
ä»ã®ãã®ãèŠãŠã¿ãŸãããã 次ã®ã³ãã³ãã«åŸã£ãŠé åã«äœçšãããdãããcããªã©ã®ã³ãã³ãããã§ã«èŠãŸããã ããããããã»ã¹ãããèŠèŠçã«ãããå Žåã¯ãèŠèŠã¢ãŒãã䜿çšã§ããŸãããvããæŒããŠã«ãŒãœã«ã移åãããšãåæäœçœ®ã匷調衚瀺ãããŠããããšãããããŸãããã®åŸãã³ãã³ããå ¥åããŠçµæã確èªããŸãã æ€çŽ¢ã³ãã³ãã¯ããã§ããŸã£ããåãããã«æ©èœããŸãã ãvãã§ã¯ãªããVããæŒããšãè¡å šäœã匷調衚瀺ãããŸãã ãVããæŒããŠããããkãïŒäžïŒãæŒããŸãã
ã芧ã®ãšããã2è¡ã匷調衚瀺ãããŠããããã«åŒ·èª¿è¡šç€ºãããŠããŸãã éå§ 'div'ïŒé»è²ã§åŒ·èª¿è¡šç€ºïŒãŸã§éžæãç¶ããããšããŸãã ãNãïŒåã®äžèŽïŒãæŒããŠããããååŸããŸãïŒ
ä»ã§ã¯ãæãã€ããããšãªãäœã§ãã§ããŸããããšãã°ããgUããšå ¥åããŠãã¹ãŠã®ããã¹ãã倧æåã«ããŸãïŒãããŠã³ãã³ãã¢ãŒãã«æ»ããŸãïŒã
ããã§ã¯ãæ£ããvi / vimã®äžè¬åãããæŠå¿µã«ã€ããŠèª¬æããŸãããã
**æ£ããæŠå¿µïŒ1ïŒæ¥ãªåŠç¿æ²ç·
vi / vimãå¹æçã«äœ¿çšããæ¹æ³ãåŠã¶ããšã¯å®¹æã§ã¯ãªããšããäºå®ã§ãã ããªãã¯æ°é±éããæ°ã¶æãè²»ããå¿ èŠããããæåã®çµéšã¯å¿«é©ã§ã¯ãããŸããã ããããviç·šéã¢ãã«ã人æ°ããªãã決ããŠæ®åããªãäž»ãªçç±ã ãšæããŸãã ä»ã®ç·šéè ã®ãŠãŒã¶ãŒãšã®ã¹ããŒãã§åã¡å§ããåã«ãçŽ30ããŒã ã翻蚳ãåŠç¿ããããŠã¯ãŒã¯ã¢ãŠãããå¿ èŠããããŸãã ã»ãšãã©ã®å Žåããããã¯åäžãã¿ã³ã®ã³ãã³ãã§ããïŒã»ãšãã©ãã¹ãŠã«èšæ¶ãç°¡åã«ããç°¡åãªããŒã¢ããã¯ããããŸãïŒãããã¯ãŸã ç°¡åãªäœæ¥ã§ã¯ãããŸããã ãããããŠã䜿ãæ £ãããšãã£ã¿ãŒã«æ»ãã®ã¯éåžžã«ç°¡åã§ãã ãããããããã®æ¡ä»¶ãæºãããŠããã°ãå€ãç¿æ £ã«æ»ã£ãã§ããã人ã¯èª°ãç¥ããŸããã
ãããã«
ããªãããããããšãããŠãã ããã ããŸãã«ãå€ãã®åŽåãè²»ãããææãåŸãããªããšæãããå Žåã¯ãvi / vimã®äœ¿çšæ¹æ³ãåŠã°ãªãã§ãã ããã viã§ã¯ãªãemacsãåŠã³ãŸãã ãŸãã¯ãIDEã®ç¡é§ãªã³ãŒããšãã£ã¿ãŒãåŒãç¶ã䜿çšããŸãã ãããããããã«ããŠãããŠãŒã¶ãŒviããã«ã ãšå®£èšããããšã¯ãããŸããã ç§ã¯åœŒãã圌ããšãŠã奜ããªçç±ã説æããããšã«æåããããšãæã¿ãŸãããããŠãããšãããªããããã䜿ããããªãã£ããšããŠããå°ãªããšã圌ã®åã«æè¬ãã¹ãã§ãã
viãããã«è©³ããç¥ãããå Žåã¯ã次ã®ãªã³ã¯ãåç §ããŠãã ããã
- å§ããçç±ãåŠã¶
- ã°ã©ãã£ã«ã«ãªããŒãã·ãŒããšãã¥ãŒããªã¢ã«ã䜿çšããŠãvi / vimç·šéãåŠç¿ããŸã
- çŽ æŽããããvi loversãããŒã ããŒãž
ãããŠãã¡ããïŒ
PS
誀åãšäžæ£ç¢ºãªæ
å ±ããŠãŒã¶ãŒalan008 ã xaizek ã kvaps ã Vizrok ã kipelovets ã tlv ïŒã¡ãã»ãŒãžã®åä¿¡é ïŒã«æè¬ããŸãã