æ¬é£èŒã§ã¯ããããŸã§ããã¹ãããŒã¿ã衚圢åŒã«æŽããjunegunn/vim-easy-alignãã©ã°ã€ã³ã®æ©èœãåãäžããŠãããjunegunn/vim-easy-alignãã©ã°ã€ã³ã䜿ãããšã§ãããªãæè»ã«ããã¹ãããŒã¿ã衚圢åŒãžãšæŽããããããšãããããããã ããã®ã§ã¯ãªãã ããããã ããé »ç¹ã«äœ¿ãã®ãªããšããããããŸã«äœ¿ãçšåºŠã§ã¯çްããæäœãå šãŠèŠããŠããã®ã¯é£ããã
junegunn/vim-easy-alignãã©ã°ã€ã³ã«ã¯èšå®æ©èœãçšæãããŠãããç¹å®ã®ããªãã¿ã«å¯ŸããŠç¹å®ã®èšå®ãä¿æããŠããããšãå¯èœã ããããVimã®ãã¡ã€ã«åœ¢åŒãšçµã³ä»ããŠèªåçã«åŠçãããããã«ããŠããã°ããããçš®é¡ã®ãã¡ã€ã«ãç·šéããŠãããšãã¯ããã®ããªãã¿ã®ãšãã¯ãã®ããã«æŽåœ¢ããããšãã£ãæå®ãèªåã§è¡ãããšãã§ããããã䜿ã圢åŒãèšå®ããŠãããèªåçã«æŽåœ¢ãããããã«ãããââãããjunegunn/vim-easy-alignãã©ã°ã€ã³ã®æåŸã®æŽ»ç𿹿³ã ã
å ã«èšå®ã®äŸããèŠãããŠããããä»åã¯ã次ã®ãããªå 容ãèšå®ããã
function MyEasyAlign()
let g:easy_align_delimiters = {
\ ':': {
\ 'pattern': ':',
\ 'left_margin': 0,
\ 'right_margin': 1,
\ 'stick_to_left': 1,
\ 'delimiter_align': 'l',
\ 'ignore_groups': ['!Comment']
\ },
\ '|': {
\ 'pattern': '|',
\ 'left_margin': 0,
\ 'right_margin': 0,
\ 'stick_to_left': 0,
\ 'delimiter_align': 'l'
\ },
\ ')': {
\ 'pattern': '[()]',
\ 'left_margin': 0,
\ 'right_margin': 0,
\ 'stick_to_left': 0,
\ 'delimiter_align': 'l',
\ 'ignore_groups': ['!Comment']
\ }
\ }
endfunction
autocmd BufNewFile,BufRead *.sh call MyEasyAlign()
ãããŠä»åã¯ã次ã®ãããªã·ã§ã«ã¹ã¯ãªãããç·šéã®å¯Ÿè±¡ãšããã
äžèšèšå®ã®ãã€ã³ãã¯ãjunegunn/vim-easy-alignãã©ã°ã€ã³ã®èšå®åŠçã颿°ã®ãªãã§è¡ãããã«ããŠããããã®é¢æ°ãã³ãŒã«ããã®ããã¡ã€ã«ã®æ¡åŒµåã«çµã³ä»ããŠããç¹ã«ãããäžèšèšå®ã§ã¯ã.shããšããæ¡åŒµåã®ãã¡ã€ã«ãç·šéããŠãããšãã«ãjunegunn/vim-easy-alignãã©ã°ã€ã³ã®èšå®ãèµ°ãããšã«ãªãããããã现ããèŠãŠãããã
ãµã³ãã«1ïŒåºæ¬çãªèšå®
èšå®ã®å 容ã¯ããããŸã§ã®é£èŒã§åãäžããŠããjunegunn/vim-easy-alignãã©ã°ã€ã³ã®èª¬æãèŠãŠããã°ãããã ãããããªãã¿ã«æ£èŠè¡šçŸã䜿ããã©ããããã»ã«ã®ããŒãžã³ãããªãã¿ãå·Šå¯ããããã©ãããã³ã¡ã³ãã察象ã«å«ãããã©ããããªã©ãæå®ããŠãããã©ã®ãããªæå®ãã§ãããã¯çš¿æ«ã®äžèЧãèŠãããjunegunn/vim-easy-alignãã©ã°ã€ã³ã®ããŒãžãåç §ããŠã»ããã
\ ':': {
\ 'pattern': ':',
\ 'left_margin': 0,
\ 'right_margin': 1,
\ 'stick_to_left': 1,
\ 'delimiter_align': 'l',
\ 'ignore_groups': ['!Comment']
\ },
ã³ã¡ã³ãéšåãéžæããŠãããga:ãã§ãããªãã¿ã«ã:ããæå®ããŠæŽçããŠã¿ããã
次ã®ãããªçµæãåŸãããã
ç¹°ãè¿ãæå®ãå ããŠãga*:ããšããã°æ¬¡ã®ããã«ãªãã
å³å¯ããå·Šå¯ããªã©ã®æå®ã¯é·ã䜿ã£ãŠããªããšå¿ããŠããŸããã¡ã ãããã®ããã«èšå®ãã¡ã€ã«ã«æžããŠããã°ãèšå®ãèŠçŽããŠã¡ãã£ãšä¿®æ£ããŠäœ¿ãããšãã£ãããšãããããããé ã§èšé²ããŠãã代ããã«èšå®ãã¡ã€ã«ã«æžããŠããããããjunegunn/vim-easy-alignãã©ã°ã€ã³ã®è³¢ãäœ¿ãæ¹ã ã
ãµã³ãã«2ïŒããŒã¿ã衚ã«ãã
次ã®èšå®ãèŠãŠã¿ãããããã¯ããªãã¿ãšããŠã|ããæå®ããŠãããããŒã¿ã衚ã«ããããšãåæãšããèšå®ã«ãªã£ãŠãããè©°ããæãã®è¡šç€ºã«ããããã«å€ãèšå®ããŠããã
\ '|': {
\ 'pattern': '|',
\ 'left_margin': 0,
\ 'right_margin': 0,
\ 'stick_to_left': 0,
\ 'delimiter_align': 'l'
\ },
å šéšã衚ã«ãããã®ã§ãga*|ããå®è¡ããã
å®è¡ãããšæ¬¡ã®ããã«ãªãã
ããªãã¿ããšã«èšå®ãå€ããŠããããšãã§ããã®ã§ãå³å¯ããäžå€®å¯ãã®ã»ãããããã°ãããããèšå®ãå ããã°ããã
ãµã³ãã«3ïŒããªãã¿ã«è€æ°ã®æåã䜿ã
æåŸã«ããªãã¿ãšããŠè€æ°ã®æåã䜿ãã±ãŒã¹ãèŠãŠã¿ãããäŸãã°æ¬åŒ§ã()ãã®ãããªããŒã¿ã¯ãã䜿ãããããã ããæ¬¡ã®ãããªèšå®ãããŠãããšæ¬åŒ§ã«å¯ŸããŠæŽåœ¢ãå®è¡ããããšãã§ããã
\ ')': {
\ 'pattern': '[()]',
\ 'left_margin': 0,
\ 'right_margin': 0,
\ 'stick_to_left': 0,
\ 'delimiter_align': 'l',
\ 'ignore_groups': ['!Comment']
\ }
ãga)ãã§ãŸãã¯æåã®æ¬åŒ§ã«å¯ŸããŠæŽåœ¢ãå®è¡ããŠã¿ããã
å®è¡ãããšæ¬¡ã®ããã«ãªããæåã®æ¬åŒ§ã§æã£ãŠããããšããããã
ãga*)ãã®ããã«ããŠéãæ¬åŒ§ã«å¯ŸããŠãæŽåœ¢åŠçãå ¥ãããã«ãããšã次ã®ããã«ãªãã
éãæ¬åŒ§ã®ã»ãã§ãæãåŠçãå ¥ã£ãŠããããšããããã ããããã®ããã«junegunn/vim-easy-alignãã©ã°ã€ã³ã§ã¯ãæ¬åŒ§ãåºæºã«ããã¹ãããŒã¿ãæããããšãå¯èœã«ãªã£ãŠããã
junegunn/vim-easy-alignã䜿ãããªãã!
ç¹°ãè¿ãããjunegunn/vim-easy-alignãã©ã°ã€ã³ã¯ããã¹ãããŒã¿ã衚圢åŒã«æŽããããã®ãã©ã°ã€ã³ã ããããŸã§ãèŠãç®ãæŽããã ãã§ãæžããŠããæ å ±ãå¢ãããæžã£ãããããã®ã§ã¯ãªããããããããŒã¿ã®èŠãç®ã¯ãšãŠã倧åã ãæ°å€ã®æ¯èŒã«ããŠãããŒã¿ã®æ¯èŒã«ããŠããèŠãããç¶æ ãã©ããã§ã人éã®äœæ¥å¹çã¯ç°ãªã£ãŠããã
ãã©ã°ã€ã³ã䜿ããªãå Žåãæåã§æŽåœ¢ããããšã«ãªãã ãããVimã®æ©èœã䜿ãã°ãããçšåºŠã®èªååãã§ããããšã¯ããããã¯ããã©ã°ã€ã³ã䜿ãå Žåãšæ¯ã¹ããšããªãæéãããããããŸãçç£çã§ãªãããšã¯åŠããªããããããäœæ¥ã¯ã§ããã ãããã°ã©ã ã«ä»»ããŠèªååãã¹ãã ãããã¯ãã²ãjunegunn/vim-easy-alignãã©ã°ã€ã³ã®æŽ»çšãæ€èšããŠãããããã
ä»é²: 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








