ã³ã¡ã³ãã¯ããã©ã«ãã§ã¯å¯Ÿè±¡å€
ããã¹ãããŒã¿ãããªãã¿åºåãã§è¡šåœ¢åŒã«æŽãããã©ã°ã€ã³ãjunegunn/vim-easy-alignãã§ã¯ãã³ã¡ã³ããšäžé£ã®æååã¯æŽçã®å¯Ÿè±¡ãšããŠå¶åŸ¡ãå¯èœã«ãªã£ãŠãããç¹ã«ããã©ã«ãã®èšå®ã§ã¯ã³ã¡ã³ãã«å¯ŸããæŽåœ¢åŠçãç¡å¹ã«ãªã£ãŠãããããã¯äŸ¿å©ãªããšããããéã«äžäŸ¿ãªããšããããå¿ èŠã«å¿ããŠãã®èŸºãã®èšå®ã¯å€æŽããŠäœ¿ãå¿ èŠãããã
ããã©ã«ãã®èšå®ã¯åºæ¬çã«ã¯äŸ¿å©ãªãã®ã ãã³ã¡ã³ãã¯æŽåœ¢ã®å¯Ÿè±¡ãšãªããªãã®ã§ããããã¯å šäœãéžæããŠæŽåœ¢åŠçãè¡ã£ãŠããã³ã¡ã³ãã®å 容ã¯å šãç·šéã®å¯Ÿè±¡ãšãªããªããã³ã¡ã³ãã¯ãã®ãŸãŸã«ããŒã¿ãèšå®éšåã ããæŽããããšãã§ããããã ãåºæ¬çã«ã¯ãã®åäœãããã©ã«ãã«ãªã£ãŠããã®ã¯çã«ããªã£ãŠããã
éã«ãã®èšå®ã§å°ãã®ã¯ããããã³ã¡ã³ãéšåã®ããã¹ããæŽåœ¢ãããã±ãŒã¹ã ããã³ã¡ã³ãã«ããŒã¿ã·ãŒãçãªãã®ãæžããŠããããããšããããŒãºã¯ãå®ã¯ããã°ã©ãã³ã°ãèšå®ãã¡ã€ã«ã®ç·šéã§ã¯ããããããšã ã£ãããããã³ã¡ã³ãã«å¯ŸããŠã ãæŽåœ¢åŠçããããããšãããã®ã ãä»åã¯ããããåŠçã®æ¹æ³ã玹ä»ããã
ããã©ã«ãã®åäœ - ã³ã¡ã³ãã¯ç¡èŠ
äŸãšããŠã極端ãªãµã³ãã«ãçšæããŠã¿ããæ¬¡ã®ããã¹ãããŒã¿ã¯ãåå䜿ã£ã/etc/passwdã®äžèº«ãã·ã§ã«ã¹ã¯ãªããã«æžãæãããã®ã§ãã³ã¡ã³ããšãã¢ããã¥ã¡ã³ãã«åãããŒã¿ãé 眮ããŠããã
ãã®ãã¡ã€ã«ã次ã®ããã«ãvim-easy-alignãã§åŠçã®å¯Ÿè±¡ãšããŠè£è¶³ããã
ãvipãã§ãã©ã°ã©ãããšéžæããŠããã®ã§ãã³ã¡ã³ããã¹ã¯ãªãããäž¡æ¹ãšãéžæãããŠããããã®ç¶æ ã§ã*:ããšå ¥åããŠã:ããããªãã¿ãšããŠæŽçãè¡ããšã次ã®ãããªçµæãåŸãããã
ã³ã¡ã³ããåŠçãããŠããªãããšããããã ãããããã©ã«ãã®æåãšããŠã¯ããã䟿å©ãªã±ãŒã¹ãå€ããã³ã¡ã³ãã®äžèº«ãŸã§æŽçããããšäžäŸ¿ãªã±ãŒã¹ã¯å€ãã
ã³ã¡ã³ãã ããåŠçã®å¯Ÿè±¡ãšãã
åäœã確èªããããã«ãæåã®ç¶æ ã«æ»ããŠããã
vim-easy-alignã§ã¯ãg:easy_align_ignore_groupsããšãã倿°ã§åŠç察象ãèšå®ããããšãã§ãããä¿æããããŒã¿ã¯ãªã¹ãã§ãå€ãšããŠã¯ãStringããCommentãã!Stringãã!Commentããåããããã¯ãã©ã®ããŒã¿ãåŠç察象ãšããŠç¡èŠãããããæ±ºãããã®ã§ããCommentããæå®ãããŠããã°ã³ã¡ã³ãã¯æŽåœ¢å¯Ÿè±¡ãšããŠåŠçãããªãããšããããšã«ãªããã!Stringããšã!Commentãã¯éã®æå®ã§ãäŸãã°ã!Commentããæå®ãããŠãããšãã³ã¡ã³ãã ããåŠç察象ãšããããã«ãªãã
äŸãã°ã次ã®ããã«èšå®ãè¡ããšãããã
:let g:easy_align_ignore_groups = ['!Comment']
ãã®ç¶æ ã§vim-easy-alignã«ããåŠçã«å ¥ã£ãŠã¿ããã
ã*:ãã§æŽåœ¢ãå®è¡ãããšã次ã®ããã«ãªããä»åºŠã¯ã³ã¡ã³ãã ãã«åŠçãé©çšãããããšããããã
ãg:easy_align_ignore_groupsãããã®éœåºŠèšå®ããã®ã¯é¢åããããããã©ã«ãã®èšå®ã倿Žããå¿ èŠãããã±ãŒã¹ã¯ããçšåºŠæ¡ä»¶ã決ãŸã£ãŠãããšæãã®ã§ãããã«åãããŠèšå®ãã¡ã€ã«ãæžããŠããã®ããããäžèšã®ããã«çŽæ¥ãg:easy_align_ignore_groupsãã倿ŽããŠããŸããšåœ±é¿ã倧ããããã®ã§ãæ¡ä»¶ã«å¿ããŠããã«çµã蟌ã¿ãè¡ã£ãç¶æ ã®èšå®ãè¡ãã®ãè¯ãã ããã詳现ãªèšå®æ¹æ³ã«ã€ããŠã¯ãvim-easy-alignã解説ããæåŸã®åã«ãŸãšããšããŠåãäžããäºå®ã ã
ãããã¯ãæèããæŽåœ¢
æãããããŒã¿ã¯æ§é åãããŠããããšããããç¹å®ã®ãããã¯ã«å ¥ã£ãŠãããšãããã§ã«ã€ã³ãã³ããããŠãããšãã£ãå Žåã ãäŸãã°ã次ã®ãããªããŒã¿ãèããŠã¿ãããèšå®ã¯äžèšã®ç¶ãã§ãã³ã¡ã³ãã®ã¿ãæŽåœ¢ã®å¯Ÿè±¡ã«ãªã£ãŠãããšããã
ãã®ç¶æ ã§ãvipgaâ*:ããšããã°ã次ã®ããã«æŽçãè¡ãããã
ããã§3è¡ç®ã«æ³šç®ãããã3è¡ç®ãåãããã«æŽçãããŠããããæŽçããã«ãExample:ãã®ãŸãŸæ®ã£ãŠãããŠã»ãããšãããããã®å ŽåãåŠçã¯ç°¡åã§ãããžã¥ã¢ã«éžæãã察象ãçµã蟌ãã ãã§ãããäŸãã°4è¡ç®ã«ã«ãŒãœã«ãããç¶æ ã§ãV20Gããšããã°ã次ã®ããã«ã³ã¡ã³ãã®åŠçããã察象ã ããããžã¥ã¢ã«éžæã®å¯Ÿè±¡ãšãªãã
ãã®ç¶æ ã§ãâ*:ããšå®è¡ãããšã3è¡ç®ã¯ãã®ãŸãŸã«ã4è¡ç®ä»¥äžã®ã³ã¡ã³ãããŒã¿ãæŽããããããšããããã
ãæŽçãã察象ãããžã¥ã¢ã«éžæããããšããã®ã¯vim-easy-alignãããã¥ã¡ã³ãã§ã玹ä»ããŠããæ¹æ³ãªã®ã§ãvim-easy-alignãæšå¥šããæ¹æ³ãšããããšã«ãªãã®ã§ã¯ãªãã ããããä»åã¯ã¹ã¯ãªããããµã³ãã«ãšããŠåãäžããããJSONã®ãããªæ§é åãããããŒã¿ã«å¯ŸããŠããã®æ¹æ³ã¯ãªããªã广çãªããã ããã²è©ŠããŠã¿ãŠããã ãããã
ä»é²: vim-easy-alignã®äž»ãªèšå®ãšæäœæ¹æ³
| æäœ | å 容 |
|---|---|
| ããŒãã«ã¢ãŒãã§:EasyAlignãŸãã¯ããžã¥ã¢ã«ã¢ãŒãã§ga | vim-easy-alignã®ã€ã³ã¿ã©ã¯ãã£ãã¢ãŒããèµ·åããã |
| ããã©ã«ãã®ããªãã¿æå | åè |
|---|---|
| ç©ºçœ = : , | . # & | =ã¯==ã!=ã+=ãšãã£ãããã«çå·ãå«ãæŒç®åãããªãã¿ãšèªèãããã |
| Ctrl-X æ£èŠè¡šçŸ | Ctrl-Xãå ¥åãããšãã®ããšã¯ããªãã¿ãšããŠæ£èŠè¡šçŸã䜿çšã§ããã |
| ã㌠| å 容 |
|---|---|
| ããªãã¿ | æåã«äžèŽããããªãã¿ã§å·Šæãã |
| 2ããªãã¿ | 2çªç®ã«äžèŽããããªãã¿ã§å·Šæãã |
| 3ããªãã¿ | 3çªç®ã«äžèŽããããªãã¿ã§å·Šæãã |
| -ããªãã¿ | æåŸã«äžèŽããããªãã¿ã§å·Šæãã |
| -2ããªãã¿ | æåŸãã1ã€åã«äžèŽããããªãã¿ã§å·Šæãã |
| -3ããªãã¿ | æåŸãã2ã€åã«äžèŽããããªãã¿ã§å·Šæãã |
| *ããªãã¿ | äžèŽãããã¹ãŠã®ããªãã¿ã§å·Šæãã |
| **ããªãã¿ | äžèŽãããã¹ãŠã®ããªãã¿ã§æãïŒå·Šæããšå³æãã亀äºã«é©çšïŒã |
| ã㌠| äœçœ® | å 容 |
|---|---|---|
| â©ïž | æå | æŒãããšã«å³æããäžå€®æããå·Šæãã峿ããäžå€®æããå·ŠæãâŠããšæãã倿Žã |
| ã·ã§ãŒãã«ããã㌠| ãªãã·ã§ã³ã | å€ |
|---|---|---|
| Ctrl-F | filter | æåå([gv]/.*/?) |
| Ctrl-I | indentation | shallowãdeepãnoneãkeep |
| Ctrl-L | left_margin | æ°åãŸãã¯æåå |
| Ctrl-R | right_margin | æ°åãŸãã¯æåå |
| Ctrl-D | delimiter_align | leftãcenterãright |
| Ctrl-U | ignore_unmatched | 0ã1 |
| Ctrl-G | ignore_groups | [], [âStringâ], [âCommentâ], [âStringâ, âCommentâ] |
| Ctrl-A | align | æåå(/[lrc]+\*{0,2}/) |
| â | stick_to_left | { âstick_to_leftâ: 1, âleft_marginâ: 0 } |
| â | stick_to_left | { âstick_to_leftâ: 0, âleft_marginâ: 1 } |
| â | *_margin | { âleft_marginâ: 0, âright_marginâ: 0 } |
ä»é²: 䜿ã£ãŠããèšå®ãã¡ã€ã«ãšã»ããã¢ããæ¹æ³
ãã©ã°ã€ã³ã䜿ãããã«Deinãã»ããã¢ããããæ¹æ³
mkdir -p ~/.cache/dein
cd ~/.cache/dein/
curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
sh ./installer.sh .
rm ./installer.sh
æ¬é£èŒã§äœ¿ã£ãŠãã~/.vimrcãã¡ã€ã«
"dein Scripts=============================
if &compatible
set nocompatible " Be iMproved
endif
" Required:
set runtimepath+=~/.cache/dein/./repos/github.com/Shougo/dein.vim
" Required:
if dein#load_state('~/.cache/dein/.')
call dein#begin('~/.cache/dein/.')
" Let dein manage dein
" Required:
call dein#add('~/.cache/dein/./repos/github.com/Shougo/dein.vim')
" Add or remove your plugins here
call dein#add('junegunn/seoul256.vim')
call dein#add('vim-airline/vim-airline')
call dein#add('vim-airline/vim-airline-themes')
call dein#add('preservim/nerdtree')
call dein#add('tpope/vim-commentary')
call dein#add('tpope/vim-fugitive')
call dein#add('fholgado/minibufexpl.vim')
call dein#add('dense-analysis/ale')
call dein#add('junegunn/fzf', {'build': './install --all'})
call dein#add('junegunn/fzf.vim')
call dein#add('sheerun/vim-polyglot')
call dein#add('junegunn/vim-easy-align')
" Required:
call dein#end()
call dein#save_state()
endif
" Required:
filetype plugin indent on
syntax enable
" If you want to install not installed plugins on startup.
if dein#check_install()
call dein#install()
endif
" seoul256
let g:seoul256_background = 233
colo seoul256
" vim-airline
let g:airline_powerline_fonts = 1
let g:airline_theme = 'molokai'
" NERDTree
" <C-o> open NERDTree
nnoremap <silent> <C-o> :NERDTreeToggle<CR>
" minibufexpl
nnoremap <silent> bn :<C-u>:bnext<CR>
nnoremap <silent> b1 :<C-u>:b1<CR>
nnoremap <silent> b2 :<C-u>:b2<CR>
nnoremap <silent> b3 :<C-u>:b3<CR>
nnoremap <silent> b4 :<C-u>:b4<CR>
nnoremap <silent> b5 :<C-u>:b5<CR>
nnoremap <silent> b6 :<C-u>:b6<CR>
nnoremap <silent> b7 :<C-u>:b7<CR>
nnoremap <silent> b8 :<C-u>:b8<CR>
nnoremap <silent> b9 :<C-u>:b9<CR>
" fzf
nnoremap <silent> fzf :Files<CR>
nnoremap <silent> ls :Buffers<CR>
" vim-easy-align
xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)
"End dein Scripts=========================
set number
syntax on
set whichwrap=b,s,[,],<,>,~,h,l
set cursorline
set incsearch
set hlsearch
set ignorecase











