vimã§ã½ã¼ã¹ãããããèªã
æ®æ®µã¯OLãªã®ã§ãã¾ãåã£ãè¨å®ã¯ãã¦ãã¾ããï¼
ã½ã¼ã¹ãããããèªãã¨ãã«ä½¿ãæ©è½
- ãã¡ã¤ã«çµããã¿æ¤ç´¢ï¼ctrlpï¼
- é¢æ°ã¢ã¦ãã©ã¤ã³ï¼unite-outlineï¼
- ãããã¸ã£ã³ãï¼vimï¼
- ã«ã¬ã³ããã£ã¬ã¯ããªä»¥ä¸ã®å ¨ææ¤ç´¢ & ã¸ã£ã³ãï¼unite-grepï¼
- å®ç¾©å ã»åç §ã¸ã£ã³ãï¼unite-gtagï¼
- è¤æ°åèªã®ãã¤ã©ã¤ã表示ï¼vim-quickhlï¼
ãã©ã°ã¤ã³
ãã©ã°ã¤ã³ç®¡çã¯neobundle.vim
ããdein.vim
ã¸ç§»è¡ãã¾ããï¼
dein.vimにお引越し - 藻ログ
[[plugins]] repo = 'kien/ctrlp.vim' hook_add = ''' let g:ctrlp_show_hidden = 1 let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn)$', \ 'file': '\v\.(exe|so|dll|png)$', \ 'link': '', \ } ''' [[plugins]] repo = 'Shougo/unite.vim' hook_add = 'source ~/.vim/userautoload/plugins/plugins-unite.vim' [[plugins]] repo = 'Shougo/unite-outline' depends = 'unite.vim' hook_add = 'source ~/.vim/userautoload/plugins/plugins-unite-outline.vim' [[plugins]] repo = 'hewes/unite-gtags' hook_add = 'source ~/.vim/userautoload/plugins/plugins-unite-gtags.vim' depends = 'unite.vim' [[plugins]] repo = "t9md/vim-quickhl" hook_add = ''' nmap ,h <Plug>(quickhl-manual-this) xmap ,h <Plug>(quickhl-manual-this) nmap ,H <Plug>(quickhl-manual-reset) xmap ,H <Plug>(quickhl-manual-reset) '''
ãã¡ã¤ã«çµããã¿æ¤ç´¢
ctrlp.vim
ã«ã¬ã³ããã£ã¬ã¯ããªä»¥ä¸ã®ãã¡ã¤ã«ãçµããã¿ãªããæ¤ç´¢ãã¾ãï¼
GitHub - kien/ctrlp.vim: Fuzzy file, buffer, mru, tag, etc finder.
dotãã¡ã¤ã«ãã²ã£ããã¦ï¼ãã¤ããªã.gitãé¿ãããã¨ãã¯ãããªæãã«ï¼
let g:ctrlp_show_hidden = 1 let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn)$', \ 'file': '\v\.(exe|so|dll|png)$', \ 'link': '', \ }
å¾è¿°ã®uniteã§:Unite file
ãã¦ãåæ§ã«çµããã¿æ¤ç´¢ã§ãã¾ããï¼ctrlpã®æ¹ãã·ã³ãã«ã§ãï¼
ãã詳ããã¯ï¼:h ctrlp
ã§ï¼
å ¨ææ¤ç´¢
unite.vim
GitHub - Shougo/unite.vim: Unite and create user interfaces
æ¤ç´¢çµæãªã©æ§ã
ãªåºåã®çµããã¿ãactionï¼tabopenã¨ãï¼ã®æå®ãã§ãã¾ãï¼ãããªèª¬æãããã¨ãããæããããï¼ï¼
åºæ¬çãªè¨å®
ãã¾ãè¨å®ãã¦ãªãã¦ï¼C-v
ã§:vsplit openãããããã§ãï¼tabopenã¯ããã©ã«ãã§t
ã«å²ãå½ã¦ããã¦ã¾ãï¼
i
ã§ã¤ã³ãµã¼ãã¢ã¼ãã«å
¥ãï¼å
¥åããã¨çµããã¿ãã§ãã¾ãï¼
ãã®ä»ã®ãããã³ã°ã¯ :h unite_default_key_mappings
ã§ï¼
" insert modeã§éå§ããªã let g:unite_enable_start_insert = 0 " 大æåå°æåãåºå¥ããªã let g:unite_enable_ignore_case = 1 let g:unite_enable_smart_case = 1 augroup UniteSettingGroup autocmd! au FileType unite nnoremap <silent> <buffer> <expr> <C-v> unite#do_action('vsplit') au FileType unite inoremap <silent> <buffer> <expr> <C-v> unite#do_action('vsplit') augroup END
unite-grep
:Unite grep
ã§ã«ã¬ã³ããã£ã¬ã¯ããªä»¥ä¸ã®ãã¡ã¤ã«ç¾¤ãå
¨ææ¤ç´¢ã«ããã¦ï¼çµããã¿&該å½ç®æã«ã¸ã£ã³ããã¾ãï¼
spaceãã¼ãmakeãgitç³»ãã©ã°ã¤ã³ã«ãã¦ã¦ãã®ã§è¯ããã¼ãããããªã...
" grepæ¤ç´¢ nnoremap <silent> ,g :<C-u>Unite grep:. -buffer-name=search-buffer<CR> " ã«ã¼ã½ã«ä½ç½®ã®åèªãgrepæ¤ç´¢ nnoremap <silent> ,cg :<C-u>Unite grep:. -buffer-name=search-buffer<CR><C-R><C-W><CR> " grepæ¤ç´¢çµæã®åå¼åº nnoremap <silent> ,r :<C-u>UniteResume search-buffer<CR>
ã¾ãï¼defaultã®grepãé«éãªhighwayã«ç½®ãæãã¦ä½¿ã£ã¦ãã¾ãï¼*1
highway という高速検索ツールを作りました · けんごのお屋敷
$ brew install highway
" unite grep ã« hw(highway) ã使ã if executable('hw') let g:unite_source_grep_command = 'hw' let g:unite_source_grep_default_opts = '--no-group --no-color' let g:unite_source_grep_recursive_opt = '' endif
é¢æ°ã¢ã¦ãã©ã¤ã³è¡¨ç¤º
unite-outline
GitHub - Shougo/unite-outline: outline source for unite.vim
ä»éãã¦ãããã¡ã¤ã«ã®é¢æ°ãªã¹ããåºåãã¦ï¼ã¸ã£ã³ãã§ããããã«ãã¾ãï¼
texã®label
ãæ¾ããã®ã§ï¼å¯§ãå稿ãæ¸ãã¨ãã«ä¾¿å©ã§ãï¼
ãªãã§tr
ã«å²ãå½ã¦ãã®ãã¤ãã¤ãæãåºããªã...*2
nnoremap <silent> tr :<C-u>Unite -no-quit -vertical -winwidth=40 outline<CR> " unite-outline ã®èªåæ´æ° let g:unite_source_outline_filetype_options = { \ '*': { \ 'auto_update': 1, \ 'auto_update_event': 'write', \ }, \ 'cpp': { \ 'ignore_types': ['enum', 'typedef', 'macro'], \ }, \ 'javascript': { \ 'ignore_types': ['comment'], \ }, \ 'markdown': { \ 'auto_update_event': 'hold', \ }, \}
è£ã§ctagsã使ã£ã¦ããã®ã§ï¼ctagsãå ¥ããªãã¨ããããã£ãã¯ã
$ brew install ctags
ã¤ã³ã¯ã«ã¼ããããã¸ã£ã³ã
æ®éã«åºæ¬æ©è½ã®gf
ã§ã§ãã¾ãï¼ãã¹ã«ã«ã¼ã½ã«ãåããã¦gfããã°é£ã³ã¾ãï¼
ããã©ã«ãã®pathã«ãªãã¨ãã¡ãªã®ã§ï¼é©å®è¿½å ãã¦ãã ããï¼
augroup GfPathGroup autocmd! autocmd FileType cpp setlocal path+=/usr/local/include,/path/to/lib augroup END
å®ç¾©å ã»åç §ã¸ã£ã³ãï¼ã¿ã°ã¸ã£ã³ãï¼
ctagsã§ãè¯ãã§ããï¼gtagsã®æ¹ã便å©ã ã¨æãã¦ããã£ãã®ã§gtagsã使ãããã«ãã¾ããï¼
GNU GLOBAL
GNU GLOBAL source code tagging system
$ brew install global
ã¿ã°ãã¡ã¤ã«ãä½æãããããã¸ã§ã¯ãã®rootã§
$ gtags -v
ããã¨GPATH
, GRTAGS
, GTAGS
ãã§ãã¾ãï¼
詳ãã使ãæ¹ã¯$ man global
.
globalã³ãã³ãã¯ï¼ã«ã¬ã³ããã£ã¬ã¯ããªä¸ä»¥å¤ã«ç°å¢å¤æ°$GTAGSLIBPATH
ã«ããã©ã¤ãã©ãªãè¦ã«è¡ã£ã¦ããã¾ããï¼ãã¨ãã°
$ export GTAGSLIBPATH=/path/to/lib1:/path/to/lib2
ã¨ããå ´åï¼ã«ã¬ã³ããã£ã¬ã¯ã㪠-> lib1 -> lib2 ã®é çªã«ã¿ã«ããã¾ãï¼
ããã§lib1ã§matchãããã¨ï¼lib2ã¯è¦ã«è¡ã£ã¦ããã¾ããï¼ãªã®ã§ï¼ä¾ãã°STLã¨boost両æ¹è¦ã«è¡ãããå ´åã¯/usr/local/include ã§ã¿ã°ãä½ãã¨ãã«ãªãã¾ãï¼ã¾ãï¼
$ export GTAGSFORCECPP=1
ããªãã¨.h ã¯cppãã¡ã¤ã«ã¨ãã¦å¦çãã¦ãããã¾ããï¼ããã$ man global
ã§ï¼
unite-gtags
gtagså
¥ããã¨/usr/local/share/gtags/gtags.vim
ãã¤ãã¦ããã®ã§ãã£ã¡ã使ã£ã¦ãããã§ã*3ãï¼çµããã¿ã使ãããã®ã§unite-gtagsã«ãã¾ãï¼
GitHub - hewes/unite-gtags: Unite source for GNU GLOBAL
ãã使ããã®ã ããããã³ã°ãã¦ããã¾ãï¼
" ã«ã¼ã½ã«ä¸ã®å¼ã³åºãå ä¸è¦§ãåºå nnoremap <silent> ,tr :<C-u>Unite gtags/ref:<CR> " ã«ã¼ã½ã«ä¸ã®å®ç¾©å ãåºå nnoremap <silent> ,td :<C-u>Unite gtags/def:<CR> " ã¿ã°ãã¡ã¤ã«å grep nnoremap <silent> ,tg :<C-u>Unite gtags/grep:<CR>
ç°å¢å¤æ°$GTAGSLIBPATH
ã¯g:unite_source_gtags_project_config
ãããå¶å¾¡ã§ãï¼ã«ã¬ã³ããã£ã¬ã¯ããªã®ãã¹æ¯ã«å¤æ´å¯è½ã§ã
let g:unite_source_gtags_project_config = { \ '_': { \ 'gtags_libpath': \ [ '/usr/local/include' ] \ }, \ '/path/to/opencv_proj/': { \ 'gtags_libpath': \ [ '/usr/local/include', '/path/to/opencv' ] \ }, \ }
åèªãã¤ã©ã¤ã
vim-quickhl
ã«ã¼ã½ã«ä¸ã®åèªãè²ä»ãããå
ã«æ»ããããã¦ï¼è¤æ°åèªã®ãã¤ã©ã¤ããã§ãã¾ãï¼
GitHub - t9md/vim-quickhl: quickly highlight <cword> or visually selected word
ãã¤ã©ã¤ãï¼è§£é¤ã®ãã¼ãããã ãè¨å®ï¼
nmap ,h <Plug>(quickhl-manual-this) xmap ,h <Plug>(quickhl-manual-this) nmap ,H <Plug>(quickhl-manual-reset) xmap ,H <Plug>(quickhl-manual-reset)
ã¾ã¨ã
ä»å¾ã¯unite.vim
ããdenite.nvim
ã«ç§»è¡ããã¨ãããã¨ã§ï¼ãã¾ã®ç°å¢ãæ´çãã¦ã¿ã¾ããï¼
unite.vim ã®æ°æ©è½ã®éçºã¯æ£å¼ã«åæ¢ãã¾ãããä»å¾ã¯ denite.nvim ã«æ©è½è¿½å ãè¡ãã¾ãã
— æé»ç¾å¤¢ç(deoplete dev) (@ShougoMatsu) 2016å¹´10æ22æ¥
æ´çããããããªããããè¨å®ãã¦ãããã§ã¯ãªãã£ãï¼
移è¡ãããctrlpãããã¦ï¼deniteã«ä¸æ¬åãããããããªãï¼