ãã®èšäºã§ã¯ãããã¹ãã移åãããç·šéãããããè€éãããã¹ãŠé瀺ããŠããããã§ã¯ãããŸããã åºæ¬çãªåãã¯vimtutorã§åŠã¶ããšãã§ããä»ã®çµã¿åããã¯ãã®éçšã§ç 究ãããŸãã ããã°ã©ãã³ã°ããã»ã¹ã§ç¹ã«éèŠãªãããã®ããã€ãã«ã€ããŠã¯ãåŸã§èª¬æããŸãã
é·ãéãç§ã¯åŽé«ãªïŒçŽ4幎ïŒãäž»ãªéçºç°å¢ãšããŠäœ¿çšããŠããŸããããæè¿äœããå€ãããŸããããã©ã€ã³ã9æ¬æå°å·æ¹æ³ããã¹ã¿ãŒããŸããã ãã®ç¬éãç§ã¯äžå¿«ãªããŠã¹ãç¢å°ã«æã䌞ã°ã人ã
ãç解ãå§ããŸããã ãããŒã ãããžã·ã§ã³ããæãé¢ãããšã¯äžèªç¶ã§éçç£çã«ãªããŸããã ãããããŽã£ã³ããŒãžããªã³ã«ããŸããã åé¡ã¯ç¡é¢ä¿ã«ãªã£ãããã§ãããäœããæ¬ ããŠããŸããã ãªãvimã«ç§»è¡ããã®ãã¯èŠããŠããŸããããäžæ¬åŒ§ïŒMatchParenïŒãç®ç«ã¡ãã«ãŒãœã«ãã©ã®ããã«èŠãããã¯ãã€ã奜ãã§ããã ãµãŒããŒã®èšå®ã«ãŒã«ãçã§ããåã«Vimãè©ŠããŸãããããã¹ãŠã®ãéæ³ãã¯æ¿å
¥ã¢ãŒããžã®åãæ¿ããšãšãã£ã¿ãŒã®ä¿å/çµäºã«éå®ãããŠããŸããã
æåã«ç解ããå¿
èŠãããã®ã¯ãvimããã®ãŸãŸäœ¿çšã§ããã®ã¯æ§æã®ç·šéã«ã®ã¿é©ããŠããããšã§ããã³ãŒããå¿«é©ã«æäœããã«ã¯ãããã€ãã®ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ç§ã¯33ãååã«æã£ãŠããŸãããvimã§ã®äœæ¥ãåçŽã§çŽæçãªãã®ã«ããããã«ãåŽé«ãªæ¯ãèããå®å
šã«ã³ããŒãããšããç®æšãèšå®ããŸããã§ããã ãã®ã¬ã€ãã§ã¯ãã€ã³ã¹ããŒã«ãããŠãããã¹ãŠã®ãã©ã°ã€ã³ãšèšå®ã«ã€ããŠèª¬æããŸããèšå®ã«ããããã©ã°ã€ã³ãšvimèªäœã®æäœããã䟿å©ã«ãªããŸãã å¿
èŠãªãã©ã°ã€ã³ã¯
å
¬åŒãŠã§ããµã€ãã§èŠã€ããããšãã§ããŸãããç§ã¯
vimawesomeã奜ã
ã§ã ã ç°å¢ã¯Ubuntu 16.04ããã³ã³ã³ãœãŒã«vim 7.4ã§ãã
ãã¹ãŠã®ãã©ã°ã€ã³ã¯githubã«ãããç¹å®ã®ãã©ã°ã€ã³ã®ã€ã³ã¹ããŒã«ãŸãã¯äœ¿çšã«é¢ããç°¡åãªã¬ã€ããèŠãããšãã§ããŸãã詳现ãªèª¬æã¯åèã«ãªããŸãã ãã©ã°ã€ã³ã®èª¬æããããã®äœ¿çšæ¹æ³ãæ確ã§ãªãå Žåã¯ã確å®ã«ããããããŒã»ã¯ã·ã§ã³ã«ç®çã®çµã¿åããã衚瀺ãããŸãã ã/ .vimrcãŸãã¯ã/ .vim / vimrcã«ãã¹ãŠã®èšå®ãèšå®ããŸãããã¡ã€ã«ãååšããªãå Žåã¯äœæããŸãã å§ããŸãããã
ãããããã©ã°ã€ã³ãæåã§ã€ã³ã¹ããŒã«ããã®ã¯è¯ãããšã§ã¯ãããŸããã
Vundleã¯ããã±ãŒãžãããŒãžã£ãŒãšããŠæ©èœãããã®äžã«ã¯
ç
åäœ ã
vim-plugãªã©ããããŸãã Vundleã®ã¿ã䜿çšãããããã©ã¡ãã䟿å©ãã¯ããããŸããã ããªãã®è£éã§éžæããŠãã ããã
ã€ã³ã¹ããŒã«ããããã©ã°ã€ã³
ããŒã
èšçœ® git clone https:
äŸåé¢ä¿ git curl
ãœã©ã¹ç§ãè©Šãããã¹ãŠã®è²ã®ããŒãã®äžã§ã
ãžã§ãªãŒããŒã³ãºã¯æã奜ãã§ãããããã°ããããŠ
èªåã®ããŒããäœæããããšã«ããŸããã 幞ããªããšã«ããã¹ãŠã®ã°ã«ãŒãã®ååãèŠã€ããããšã¯é£ãããããŸããã§ãããæ®å¿µãªããã端æ«ã¯ã«ã©ãŒãã¬ãããéåžžã«éãããŠãããéåžž256è²ããµããŒãããŠããŸãã Solasã¯PhpStormã®æšæºããŒãã«åºã¥ããŠããŸãã
åããã©ã°ã€ã³ã¯ ãçŸåšã®è¡ãŸãã¯éžæããè¡ãäžäžã«ç§»åããããã«èšèšãããŠããŸãã
ãŠãŒã¶ãŒèšå® // <Cj> <Ck> let g:move_key_modifier = 'C'
ãªã¿ã¯ãã¡ã€ã«ã·ã¹ãã ã§åäœããããã«èšèšããã
æã人æ°ã®ãããã©ã°ã€ã³ ã ãã¡ã€ã«ãšãã£ã¬ã¯ããªãäœæã移åãåé€ããããã®äŸ¿å©ãªãããããŒãè¿œå ããŸãã
ãŠãŒã¶ãŒèšå®
php-documentorãã©ã°ã€ã³ã¯ãã¯ã©ã¹ãã¯ã©ã¹ããããã£ãé¢æ°ã®ããã¥ã¡ã³ããããã¯ãäœæããŸãã
phpãã©ã°ã€ã³ã¯ãæ¹åãããæ§æãµããŒããæäŸããŸãã å®æ°ãã¯ã©ã¹ãããã³é¢æ°ã®ãªã¹ããããŒãžã§ã³5.6ã«æŽæ°ããŸããã
html5ãã©ã°ã€ã³ã¯ãæ¹åãããæ§æãšããã£ã³ã°ã®ãµããŒããæäŸããŸãã
javascriptãã©ã°ã€ã³ã¯ãæ¹åãããæ§æãšããã£ã³ã°ã®ãµããŒããæäŸããŸãã
å°æãã©ã°ã€ã³ã¯ãå°æãã³ãã¬ãŒãã®ãµããŒããè¿œå ããŸãã
é亡è
gitã®äŸ¿å©ãª
ã©ãããŒã¯ãå€ãã®ã³ãã³ããæäŸããŸãã
究極ã®ãã©ã°ã€ã³ã¯vimã¹ãããããµããŒããè¿œå ããŸãã
䟿å©ãªçµã¿åãã <Tab> -
æ§æattrãã©ã°ã€ã³ã¯ãæ§æã°ã«ãŒããhiãªã³ã¯ãããã³ã°ã«ãŒãã®è²ã衚瀺ããŸãã ç¬èªã®é
è²ãäœæããããã®äŸ¿å©ãªãã©ã°ã€ã³ã
ctrlp3幎éãç§ã¯ãããŸãæ€çŽ¢ã«éåžžã«æ
£ããŠããã®ã§ããã®æ©äŒããªãéçºã¯ã»ãšãã©æ³åã§ããŸããã ç§ã®èšæ¶ã§ã¯ãããã¯ç§ãã€ã³ã¹ããŒã«ããæåã®ãã©ã°ã€ã³ã§ããã
Ctrlpã¯ãã¿ã°ããã¡ã€ã«ããããã¡ãŒãããã³æåŸã®ã¢ã¯ãã£ããªãã¡ã€ã«ãæ€çŽ¢ããŸãã
ããŒã
䟿å©ãªçµã¿åãã <Cj> <Ck> - <Enter> - <Ct> - <Cv> - / ( ) <Cx> - / ( ) <Cd> -
ãŠãŒã¶ãŒèšå®
äŸåé¢ä¿ ctags
ã¿ã°ããŒç§ã¯åŽé«ãªãããããã奜ãã§ããããèŠãã°ããã«ãã¡ã€ã«æ§é ãç解ã§ããŸãã åœç¶ãvimã§ãåããã®ã欲ããã£ãã®ã§ããããã©ã°ã€ã³ã¯
vim-minimapãšåŒã°ããŠããŸãã æ®å¿µãªããããã©ã°ã€ã³
ã¯ãŸã£ãã奜ãã§ã¯ãããŸããã§ãã ã 代æ¿æ段ãå¿
èŠã§ããããèŠã€ãããŸãã
-tagbar ã ãã©ã°ã€ã³ã¯ãçŸåšã®ãã¡ã€ã«å
ã®ã¿ã°ã®ãªã¹ãã衚瀺ããããããã°ã«ãŒãåããå¿
èŠãªé åºã§äžŠã¹æ¿ããŸãã
ãŠãŒã¶ãŒèšå®
äŸåé¢ä¿ ctags
tagbar-cssãã®ãã©ã°ã€ã³ã¯ãã¿ã°ããŒã«cssãlessãããã³scssã®ãµããŒããè¿œå ããŸãã ãã©ã°ã€ã³èªäœãã€ã³ã¹ããŒã«ããããšã«å ããŠã次ã®è¡ãã/ .ctagsã«èšè¿°ããŸã
--langdef=css --langmap=css:.css.less.scss --regex-css=/^[ \t]*@([A-Za-z0-9_-]+)/@\1/v,var,variables/ --regex-css=/^[ \t]*\.([A-Za-z0-9_-]+)/.\1/c,class,classes/ --regex-css=/^[ \t]*#([A-Za-z0-9_-]+)/#\1/i,id,ids/ --regex-css=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/ --regex-css=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
äŸåé¢ä¿ tagbar
ã€ãŒãžãŒã¢ãŒã·ã§ã³ç§ã®æèŠ
ã§ã¯æé«ã®ãã©ã°ã€ã³ã®äžã€ ã ã»ãã®æ°æåãå
¥åããã ãã§ãã³ãŒããç¬æã«ããã²ãŒãã§ããŸãã
ãŠãŒã¶ãŒèšå®
ã泚æ easymotion , , , . Vim , , , .
ã»ãã·ã§ã³ãã®ãã©ã°ã€ã³ã¯ãæšæºã³ãã³ãmksessionã®ã©ãããŒãæäŸããããšã«ãããã»ãã·ã§ã³ã®æäœããã䟿å©ã«ããŸãã
ããŒã
ãŠãŒã¶ãŒèšå®
äŸåé¢ä¿ misc
ãšã¡ãããšã¡ããã«ã€ããŠã¯ããŸãã«ãå€ãã®ããšãããã«æžããŸãã
ãŠãŒã¶ãŒèšå®
åºåããã©ã°ã€ã³ã¯ãè§ãã£ããŸãã¯åŒçšç¬Šã®éã§ã€ã³ãã³ãããŸãã
ãŠãŒã¶ãŒèšå®
ã·ã³ã¿ã¹ãã£ãã¯æ§æããã§ãã¯ããããã®
ãã©ã°ã€ã³ ã 次ã®èšå®ãè¡ãããšããå§ãããreadmeã§ã¯ãè°è«ããªãã§ãã ããã
ãŠãŒã¶ãŒèšå® let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0
NERDCommenterã³ãŒãã«ã³ã¡ã³ãããããã®
ãã©ã°ã€ã³ããã次ã®åäœãå®çŸããããšèããŸããïŒã³ãŒãã®ã»ã¯ã·ã§ã³ãã³ã¡ã³ãã¢ãŠãããã«ã¯ã<C-ïŒ>ã䜿çšããŸãã ç§ãèŠããŠããéãã§ã¯ãã€ã³ã¹ããŒã«ãããã¹ãŠã®ãã©ã°ã€ã³ïŒçŽ4ïŒã®ãã¡ãã©ããæ£ç¢ºã«ãã®ã¿ã¹ã¯ãå®è¡ããŸããã§ããã ã³ãŒãã®ã³ã¡ã³ãã解é€ããã«ã¯ãæšæºã®çµã¿åãã-\ <Leader \> cuãããã§\ <Leader \>-"ã"ã䜿çšããå¿
èŠããããŸãã ããã¯æšæºããŒã§ã¯ãªããããã©ã«ãã¯ã\ãã§ãã ãã以å€ã®å ŽåãåŽé«ãšåãåäœã
ãŠãŒã¶ãŒèšå®
èªç©ºäŒç€Ÿãã©ã°ã€ã³ã¯ãããŒãºã«åãããŠç°¡åã«ã«ã¹ã¿ãã€ãºã§ãã䟿å©ãªã¹ããŒã¿ã¹ããŒã衚瀺ããŸãã ãã©ã°ã€ã³ã«ã¿ãã®å€èŠ³ãå¶åŸ¡ãããããšãã§ããŸãã æ£ããåäœãããã«ã¯ãããããé©çšãããã©ã³ããå¿
èŠ
ã§ã ããã
ã¯ãã¡ãããå
¥æã§ã
ãŸã ã
ãŠãŒã¶ãŒèšå®
å®æYCMã¯ããã¡ãžãŒæ€çŽ¢ã
䜿çšããé«éãªã³ãŒãè£å®ãæäŸããŸãã ãã¹ãŠã®äžã§æããéãããã©ã°ã€ã³ã§ãããã€ã³ã¹ããŒã«ããã®ãæãäžå¿«ã§ãã ééã¯275.9 mbã§ããšãã£ã¿ãŒã®èµ·åã倧å¹
ã«é
ããªããŸãã æ¯èŒã®ããã«ãä»ã®ãã¹ãŠã®ãã©ã°ã€ã³ã¯åãããŠ15.1 MBãå æããŸãã ãã©ã°ã€ã³ãæ©èœããããã«ã¯ãpythonãµããŒãã§ã³ã³ãã€ã«ãããvimãå¿
èŠã§ãã 確èªããã«ã¯ãvim --version | 端æ«ã§grep "+ python"ãå®è¡ããŸãã ãœãŒã¹ããã³ã³ãã€ã«ããããªãã®ã§ããã幞ããªããšã«ç§ã®ãªããžããªã«ã¯ãã¹ã¯ãªããèšèªããµããŒãããããã±ãŒãžãvim-noxãããããŸãã
ãŠãŒã¶ãŒèšå®
èšçœ® , "install.py" , help.
è€æ°ã®ã«ãŒãœã«ååã¯ããèªäœãç©èªã£ãŠããŸã-
ãã©ã°ã€ã³ã䜿çšãããšãåæã«è€æ°ã®ã«ãŒãœã«ãæäœã§ããŸãã
ããŒã
䟿å©ãªçµã¿åãã <Cn> - <Cp> - <Cx> -
ctrlsfé·ãéãç§ã¯ãããžã§ã¯ãå
šäœã§è¡ã®çœ®æãå®è£
ããæ¹æ³ã®èãã«æãã£ãŠããŸããã ãããŠç¡é§ã«-vimã«ã¯ãå¿
èŠãªæ©èœãæäŸããçŽ æŽããã
ãã©ã°ã€ã³ãïŒãããŠã»ãšãã©ããã«ïŒèŠã€ãããŸããã 次ã®ã³ãã³ããå
¥åããã ãã§ãïŒCtrlSF pattern [filemask]ãšããã¹ãŠã®ãšã³ããªãå«ããŠã£ã³ããŠãéããŸãã éåžžã®ãã¡ã€ã«ãšããŠç·šéããä¿åããŸãïŒïŒwïŒã ãã®åŸããã©ã°ã€ã³ã¯ç¢ºèªãæ±ããå€æŽããããã¡ã€ã«ã®æ°ã瀺ããŸãã \ <Esc \>ãæŒããšãããŒã¿ãã³ããããããããšã«æ³šæããŠãã ããã ãã ããå€æŽããã€ã§ãå
ã«æ»ããŠïŒuïŒããããã¡ãŒãå床ä¿åã§ããŸãã è€æ°ã®ã«ãŒãœã«ãç¹ã«ã³ãã³ãïŒMultipleCursorsFindã«é©ããŠããŸãã CtrlSFã¯ack / agãæœè±¡åãããã®ãªã®ã§ããããã®ãã©ã°ã€ã³ã®1ã€ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã agãã€ã³ã¹ããŒã«ããã«ã¯ã以äžããèªã¿ãã ããã
ããŒã :CtrlSF foo *.php
䟿å©ãªçµã¿åãã <Cj> <-k> -
ãŠãŒã¶ãŒèšå®
äŸåé¢ä¿ ack ag
agã©ãããªãŒããŒã·ã¹ãã agã èè
ã«ãããšã䞊ååã«ãããagã¯ackããã34åéãã
ãã詳现ã«åäœããŸãã ãã©ã°ã€ã³ãæ©èœãããã«ã¯ãagèªäœãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã Ubuntuã§ã¯ãããã±ãŒãžã¯silversearcher-agãšåŒã°ããŸãã
php-namespaceãuseãæŒç®åã䜿çšãããã䟿å©ãªäœæ¥ã®ããã®
ãã©ã°ã€ã³ ã ã¿ã°ãã¡ã€ã«ã䜿çšããŠå¿
èŠãªã¯ã©ã¹ãæå¹ã«ããŸãã
äŸåé¢ä¿ ctags, -.
ãµã©ãŠã³ããã©ã°ã€ã³ã䜿çšãããšãããã¹ããå²ãåŒçšç¬Šãè§ãã£ãããŸãã¯xmlã¿ã°ãè¿œå ã眮æããŸãã¯åé€ã§ããŸãã ysãcsãds-ãã¬ãŒãã³ã°æåã®æ¿å
¥ã眮æãåé€ã«ãããã䜿çšãããŸãã
䟿å©ãªçµã¿åãã ds' - dst - cs'" - ysiw" - ysiw<a> - <a>
è¡šãã©ã°ã€ã³ã¯ãããã¹ããç¹å®ã®ãã¿ãŒã³ïŒããšãã°ãã=ããŸãã¯ã|ãïŒã«æããŸãã ç§ã¯çŸå®¹ã³ãŒãã®ãã¡ã³ã§ã¯ãããŸããããæè¿ãè±èªã§æã
ããŒãã·ãŒããäœæãããšãããã©ã°ã€ã³ã¯éåžžã«äŸ¿å©ã§ããã
ããŒã
ctagsCtrlPãTagBarãphp-namespaceãªã©ã®ãã©ã°ã€ã³ã䜿çšããã«ã¯ãããã°ã©ã ã®ãœãŒã¹ã³ãŒããåæããããã®åŒ·åãªãŠãŒãã£ãªãã£ã§ãã
ctagsãå¿
èŠã§ãã Ctagsã¯ãã¯ã©ã¹ãé¢æ°ãå€æ°ãªã©ã®ååãšãã®äœçœ®ãå«ãã¿ã°ãã¡ã€ã«ãäœæããŸãã Ctags 5.9ã¯ãã®ãŸãŸã§43èšèªããµããŒãããŠããŸãããæ£èŠè¡šçŸã§æ¡åŒµã§ããŸãïŒtagbar-cssãåç
§ïŒã
䟿å©ãªããŒ
èšçœ® . , ubuntu - exuberant-ctags
ã泚æ - "tags.vendor" "tags"
ã€ãŒãžãŒã¿ã°ã¿ã°ãã¡ã€ã«ã¯å€ãã®æ
å ±ãæäŸããŸãããæäœæ¥ã§äœæããã®ã¯æ¥œããä»äºã§ã¯ãããŸããã
Easytagsã䜿çšãããšãã«ãŒãã³ãçãããšãã§ããŸããäžåºŠç»é²ããã ãã§ãUpdateTags -Rãæ°ãããããžã§ã¯ãã«è¿œå ããããã©ã°ã€ã³ã¯ãã®åŸã®ãã¹ãŠã®å€æŽã«ã€ã³ããã¯ã¹ãä»ããŸãã
ãŠãŒã¶ãŒèšå®
äŸåé¢ä¿ ctags
åãã©ã°ã€ã³ã詳现ã«èª¬æããã®ã¯éåžžã«é£ãããããããçç±ã¯ãããŸããã ãã¹ãŠã®ããŒã ããªã¹ãããã®ã¯æå³ããããŸããã䜿çšããããŒã ã«ã€ããŠã ã説æããŸãããããããªãã§ã¯èšäºã¯éåžžã«èšå€§ã§ããã 次ã«ããšãã£ã¿ãŒèªäœã®æ©èœãèŠãŠã¿ãŸãããã
èšå®è©³çŽ°ã«ã€ããŠã¯ã
ãã«ãèšå®ãåç
§ããŠãã ããã
ããŒããŒãã·ã§ãŒãã«ããçµã¿åãããäœæããããã®æ§æã¯ããæ³åã®ãšããã次ã®ãšããã§ãã
[[mode]nore]map keys command
modeã¯ãçµã¿åãããæ©èœããã¢ãŒããŸãã¯ç°å¢ã§ã
noreïŒéååž°çïŒ-çµã¿åããããéããªããããããã©ã«ãå€ã䜿çšãã
:map j gg
çµã¿åããã®å²ãåœãŠã®è©³çŽ°ãã芧ãã ããã
ããŒã®æšæºçãªåäœãå€æŽãããšããã¢ã€ãã¢ã¯å¥œãã§ã¯ãããŸãããã次ã®çµã¿åãããèªåã«ãšã£ãŠéåžžã«äŸ¿å©ã§ããããšãããããŸããã æååïŒfããã³FïŒã§æ€çŽ¢æåã䜿çšããããšã¯ãã£ãã«ãªããJãKãªã©ã®ã³ãã³ãã䜿çšããããšã¯ãããŸããã
ç§ã«ãšã£ãŠæãå°é£ãªäœæ¥ã¯
ãyoucompletemeã
ã€ã³ã¹ããŒã«ããã¿ãåãæ¿ã<Alt-n>ãèšå®
ããããšã§ãã ãããã«ã¯5æéããããŸããïŒ5ãKarlïŒïŒã æžããŸããã§ããïŒ<Alt-1>ã<A-1>ã<M-1>ã^ [1-ãšã¹ã±ãŒãã·ãŒã±ã³ã¹ïŒ<Cv>ãAlt + 1ïŒã :help :map-alt-keys, ~/.inputrc set convert-meta on. , xterm . Gnome-terminal ,
SO. , , , , , . , :
for c in range(1, 9) exec "set <A-".c.">=\e".c exec "map \e".c." <A-".c.">" let n = c - '0' exec "map <M-". n ."> ". n ."gt" endfor
- , , - ( , , ), .
ããã€ãã®æšæºçãªçµã¿åãã ç¥èªVim , .vimrc «abbr help tab help» «help», , vim «tab help». «», <Cv>.
ãããã«ïŒvimã¯ãä»ã«é¡ãèŠãªãèªç±ãäžããŸãã Emacsã¯ç«¶äºã§ãããããããŸãããããŸã åäœããŠããŸãããåŽé«ããvimãžã®ç§»è¡ã¯ã4æ¬ã®æïŒèŠããŠããéãïŒãã9æ¬ã®æãžã®åãã¬ãŒãã³ã°ãæãåºãããŸãã誀解ããªãã§ãã ãããåŽé«ã¯çŽ æŽããããšãã£ã¿ãŒã§ããã€ãŸããæåã¯éåžžã®é床ã倱ããŸããæéãçµéãããšãçç£æ§ã¯ä»¥åã®ã¬ãã«ã«æ»ãããã®ç¬éããé床ãäžãããŸããç§ãåŽé«ã«äœ¿çšããäž»ãªæ©èœã¯ãã¹ãŠãäœããã®åœ¢ã§vimã«ç§»è¡ããŸããã vimlã䜿çšããŠãçµã¿åããã解決ãããšãã£ã¿ãŒã®æšæºæ©èœãæ¡åŒµããŸããã¡ã€ã³OSãWindowsããUbuntuã«å€æŽããããšãæãåºãããå¥ã®æ©èœããããŸãã Windowsã§ã¯ããããã10åããããã端æ«ã䜿çšããŸãããèšããªãç§ã«ãšã£ãŠäœãã足ããªãã£ãããã¹ãŠãç§ãšäžç·ã«ããŸããã£ããããããLinuxã«åãæ¿ãããšãã³ã³ãœãŒã«ã³ãã³ããèªç±ã«äœ¿çšã§ããããã«ãªããŸããæèçã§ã¯ãªãïŒããã¯éèŠã§ãïŒãç¹å®ã®åé¡ã解決ããããã®ããŒã«ïŒbashïŒãå
¥æããŸãã vimã§ã¯ãç¹å®ã®åé¡ã®è§£æ±ºçãæ¢ãããã«äœãã絶ããã°ãŒã°ã«ããå¿
èŠããããŸããéåžžã«é »ç¹ã«ãkeyïŒvalueã®ã¹ã¿ã€ã«ã§ãåŽé«ãªãšãã£ã¿ãŸãã¯åæ§ã®ãšãã£ã¿ã®éåžžã®ã»ããã¢ãããšã¯ç°ãªããœãªã¥ãŒã·ã§ã³ããããŸããæåéãããšãã£ã¿ãŒãããã°ã©ã ããŸããã»ãšãã©ããã«ãå€æ°ãåæåããæ¹æ³ãå°ãåŸã§-ãã®èšå®ãç¹å®ã®çš®é¡ã®ãã¡ã€ã«ã«é©çšããæ¹æ³ãããã«åŸã§-ã€ãã³ãããªãã¹ã³ããæ¹æ³ãŸãã¯ã«ãŒããäœæããæ¹æ³ãããããŸããå°ããã€æ
å ±ãååŸãããšãvimlã«ã€ããŠã®ã¢ã€ãã¢ãåŸãããšãã§ããããã«æåã®ãã©ã°ã€ã³ãäœæã§ããŸãããã¡ãããããã¯ãã¹ãŠããã®èšèªã®ããã¥ã¡ã³ããéãã ãã§åŠç¿ã§ããŸãããç§ã¯èšããªããã°ãªããªããç§ã¯PythonãŸãã¯APIã®åŽé«ããåŠã³ãããšãã欲æ±ãæã£ãŠããªãã£ããå人çã«ã¯ãvimã¯ç§ã«ãšã£ãŠå¬ããé©ããããããæã£ãŠããããšç¢ºä¿¡ããŠãããç§ã®.vimrcã¯ããã®ãšãã£ã¿ãŒã§äœæ¥ããŠããéãåžžã«å€åããããã§ããããã€ãã®è³ªå1. , airline , , , . - , , , . , , ?
2. readme nerdtree , / g:NERDTreeDirArrowExpandable g:NERDTreeDirArrowCollapsible. , "+" "-", nerdtree . - ?
3. youcompleteme omnicompletion? , <Cx><Co>.
4. php- "<?php", "<", vim ">". php-? - :
au FileType php set matchparen-=<
.vimrcå
šäœ" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" common
Plugin 'scrooloose/nerdtree'
Plugin 'valloric/youcompleteme'
Plugin 'xolox/vim-easytags'
Plugin 'majutsushi/tagbar'
Plugin 'tpope/vim-fugitive'
Plugin 'easymotion/vim-easymotion'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'scrooloose/nerdcommenter'
Plugin 'matze/vim-move'
Plugin 'raimondi/delimitmate'
Plugin 'mattn/emmet-vim'
Plugin 'scrooloose/syntastic'
Plugin 'tpope/vim-surround'
Plugin 'sirver/ultisnips'
Plugin 'honza/vim-snippets'
Plugin 'xolox/vim-session'
Plugin 'xolox/vim-misc'
Plugin 'SyntaxAttr.vim'
Plugin 'dyng/ctrlsf.vim'
Plugin 'rking/ag.vim'
Plugin 'godlygeek/tabular'
" php
Plugin 'stanangeloff/php.vim'
Plugin 'sumpygump/php-documentor-vim'
Plugin 'arnaud-lb/vim-php-namespace'
" javascript
Plugin 'pangloss/vim-javascript'
" html
Plugin 'othree/html5.vim'
" twig
Plugin 'evidens/vim-twig'
" css
Plugin 'mtscout6/vim-tagbar-css'
" colors
Plugin 'damage220/solas.vim'
Plugin 'nanotech/jellybeans.vim'
Plugin 'mhartington/oceanic-next'
call vundle#end()
" settings
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoread
set autoindent
set smartindent
set rnu
set laststatus=2
set timeoutlen=500
set ttimeoutlen=0
set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0
set encoding=utf-8
set termencoding=utf-8
set updatetime=500
set noswapfile
set splitright
set splitbelow
set nocompatible
set tags=./tags;
set ignorecase
set hidden
set hlsearch
set incsearch
set cursorline
set pumheight=10
set fillchars+=vert:\
let mapleader=","
filetype off
filetype plugin on
filetype plugin indent on
" autocmd CompleteDone * pclose
" color
syntax enable
set background=dark
colorscheme solas
" abbreviations
abbr help tab help
" mappings
imap df <Esc>l
nnoremap 2o o<CR>
nnoremap 2O O<Esc>O
nnoremap tm :tabm +1<CR>
nnoremap tM :tabm -1<CR>
nnoremap KH
nnoremap JL
nnoremap H gT
nnoremap L gt
nnoremap F :CtrlP<CR>
nnoremap ff :CtrlP<CR>
nnoremap ft :CtrlPBufTag<CR>
nnoremap fb :CtrlPBuffer<CR>
nmap fs <Plug>(easymotion-s)
nmap fl <Plug>(easymotion-sl)
nnoremap fc :NERDTreeFind<CR>
nnoremap fp :CtrlSF
nnoremap <Ch> :noh<CR>
map <C-?> <plug>NERDCommenterComment
map <C-_> <plug>NERDCommenterToggle
nnoremap <Cd> :call PhpDoc()<CR>
nnoremap <Cm> :TagbarToggle<CR>
nnoremap <Cp> :NERDTreeToggle<CR>
nnoremap <Cg> :call SyntaxAttr()<CR>
inoremap <Cj> <Cn>
inoremap <Ck> <Cp>
cnoremap <Cj> <Cn>
cnoremap <Ck> <Cp>
autocmd FileType php noremap <Cu> :call PhpInsertUse()<CR>
nnoremap <F4> :tabe ~/.vimrc<CR>:tabm 0<CR>
nnoremap <F5> :w<CR>:so $MYVIMRC<CR>
" map <alt+n> to navigate through tabs
for c in range(1, 9)
exec "set <A-".c.">=\e".c
exec "map \e".c." <A-".c.">"
let n = c - '0'
exec "map <M-". n ."> ". n ."gt"
endfor
" nerdtree
let NERDTreeAutoDeleteBuffer = 1
" move
let g:move_key_modifier = 'C'
" youcompleteme
let g:ycm_server_python_interpreter='python'
let g:ycm_autoclose_preview_window_after_completion = 1
let g:ycm_key_list_select_completion = ['<Down>']
" emmet
let g:user_emmet_expandabbr_key = '<Ce>'
" airline
let g:airline_theme='solarized'
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#tab_min_count = 0
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline#extensions#tabline#show_buffers = 0
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline_section_warning = ''
let g:airline_section_error = ''
let g:airline#extensions#tabline#show_close_button = 0
let g:airline#extensions#tabline#left_alt_sep = ''
let g:airline#extensions#tagbar#enabled = 0
let g:airline#extensions#tabline#show_tab_nr = 1
let g:airline#extensions#tabline#tab_nr_type = 1
" easymotion
let g:EasyMotion_smartcase = 1
let g:EasyMotion_do_shade = 0
hi link EasyMotionTarget Search
hi EasyMotionTarget2First ctermfg=202 ctermbg=None cterm=None
hi EasyMotionTarget2Second ctermfg=202 ctermbg=None cterm=None
" session
let g:session_autoload = 'yes'
let g:session_autosave = 'yes'
let g:session_autosave_periodic = 5
let g:session_autosave_silent = 1
let g:session_default_to_last = 1
" NERDCommenter
let g:NERDSpaceDelims = 1
" html
au BufNewFile,BufRead *.tpl set filetype=html syntax=php
" syntastic
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
" tagbar
let g:tagbar_sort = 0
let g:tagbar_width = 35
let g:tagbar_iconchars = ['+', '-']
let g:tagbar_map_close = '<Cm>'
let g:tagbar_type_php = {
\'ctagstype': 'php',
\'kinds': [
\'i:interfaces',
\'c:classes',
\'d:constants',
\'f:functions'
\]
\}
let g:tagbar_type_javascript = {
\'ctagstype':'JavaScript',
\'kinds' : [
\'f:functions',
\'c:classes',
\'m:methods',
\'p:properties'
\]
\}
" delimitmate
let delimitMate_expand_cr = 1
let delimitMate_expand_space = 1
au FileType vim,html let b:delimitMate_matchpairs = "(:),[:],{:},<:>,>:<"
" NERDTree
" let g:NERDTreeDirArrowExpandable = '+'
" let g:NERDTreeDirArrowCollapsible = '-'
" ctrlp
let g:ctrlp_by_filename = 1
let g:ctrlp_working_path_mode = 'wr'
let g:ctrlp_map = ''
let g:ctrlp_buftag_types = {
\'php': '--php-kinds=icdf'
\}
" ctrlsf
let g:ctrlsf_position = 'right'
" easytags
let g:easytags_file = './tags'
let g:easytags_auto_highlight = 0
let g:easytags_events = ['BufWritePost']
let g:easytags_async = 1
ããªããç±å¿ãªvim'erã§ãããªããããªãã¯chromeã®ããã«æ¬¡ã®æ¡åŒµæ©èœã奜ããããããŸããïŒããã³vim'a . , \<Insert\>, <C-enter> ().
PSïŒãã€ãã£ãã®ã³ã¡ã³ãã·ã³ãã«vimlïŒäºéåŒçšç¬ŠïŒã®ä»£ããã«ãã//ãã䜿çšããããšã«ããŸãããvimlã¯ããäžã«ãªããåæ§ã®ã³ãŒãã³ã¡ã³ããæã€èšèªããããã©ããããããªãããã§ããPS2ïŒäžéšã®çµã¿åããã¯ãã\ãèšå·ã«ãã£ãŠãšã¹ã±ãŒãããããããããŒãµãŒã¯ããããhtmlã¿ã°ãšèŠãªããŸãããpreã¿ã°ã¯ãããã¯ã§ããã®æ¹ãè¯ããšå€æãããŸãããUPDïŒSOLASã®GUIãµããŒããè¿œå ãããŸããã