Vimãã¯ãããã¨ãã®ãã¤ã³ã¿
Vim2 Advent Calendar 2017 15æ¥ç®ã®è¨äºã§ã.
TL;DR
- Vimãã¯ããããã¨ç¸è«ãããæï¼æ«æããã¦ãã¾ããã¨ãå¤ã
- ä¸ä½ä½ããããªãã®ãï¼ï¼*1
- ãããªãè²ã 説æãããããï¼æ®µéçã«æ å ±ãéã¾ã£ããã¤ã³ã¿ã欲ããï¼
- ã¨ãããã¨ã§ï¼Vimã®è¨å®ã«ã¤ãã¦èãããã¨ãã«ç´¹ä»ãã¦ãããã®ãã¾ã¨ãã¦ã¿ã¾ããï¼
åºæ¬çãªä½¿ãæ¹(1) | vimtutor, vimdoc |
åºæ¬çãªä½¿ãæ¹(2) | Vim Mnemonic | Vim のコマンドの覚え方大全 - haya14busa |
åºæ¬çãªä½¿ãæ¹(3) | 『実践Vim』を読んで学んだ、おすすめVimデフォルト機能35個 - MyEnigma |
vimrcã®æ¸ãæ¹ | vimrc基礎文法最速マスター - 永遠に未完成 |
vimscriptã®æ¸ãæ¹ | Vimスクリプト基礎文法最速マスター - 永遠に未完成 |
ãã¼ãããã«ã¤ã㦠| vimでキーマッピングする際に考えたほうがいいこと - derisの日記 |
æ£è¦è¡¨ç¾ | Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記 |
ãã©ã°ã¤ã³ããã¼ã¸ã£ | dein.vim |
ãã©ã°ã¤ã³ï¼æ¤ç´¢ï¼ | Vim Awesome |
ãã©ã°ã¤ã³ï¼ä¾ï¼ | Vim After 15 Years | Ian Langworth’s Things of Variable Interest |
ãã©ã°ã¤ã³ï¼ææ³ï¼ | Vimスクリプト基礎文法最速マスター - 永遠に未完成 |
vimrcåå² | vimrc分割した - 藻ログ |
è¨å®ãããã©ã人 | spacevim,ä»ã®ã¨ãã£ã¿,IDE |
å¯ä» | Vim起動時に出てくるウガンダへの寄付を行う手順 - 今日学んだこと |
Vim以å¤ãå§ãã
ãããªãã§ããï¼æåã¯ä»ã®ã¨ãã£ã¿/IDEãä¸æ¦ãå§ããããã«ãã¦ã¾ãï¼*2
ããã§ãVimããã
ããã
Vimã®åºæ¬çãªä½¿ãæ¹
vimtutor
vimtutor ãããã°ï¼åºæ¬çãªä½¿ãæ¹ãä¸éããã¹ã¿ã¼ã§ããã¯ãã§ã *3
$ vimtutor
ã³ãã³ãã®è¦ãæ¹
Vimã¯ã³ãã³ããç´æçã«ãè¦ããããã¨æãã¦ãã¾ã.
haya14busa.com
ãæ¬
å®è·µVimã¯ãã©ã°ã¤ã³ã§ãªãï¼Vimããã©ã«ãæ©è½ã®è§£èª¬ãä¸å¿ãªã®ã§ããããå§ãã人ã«ã¯è¯ãã¨æãã¾ã.

å®è·µVimãæèã®ã¹ãã¼ãã§ç·¨éãããï¼ (ã¢ã¹ãã¼æ¸ç±)
- ä½è : Dï½ï½ ï½ï¼®ï½ ï½ï½,æ°ä¸å¾
- åºç社/ã¡ã¼ã«ã¼: KADOKAWA / ã¢ã¹ãã¼ã»ã¡ãã£ã¢ã¯ã¼ã¯ã¹
- çºå£²æ¥: 2014/01/28
- ã¡ãã£ã¢: Kindleç
- ãã®ååãå«ãããã° (4件) ãè¦ã
Vimããã§ããï¼
ãã®èª¿åã
ã¿ãéãããã¦ã£ã³ãã¦åå²ãããããã
:tabe(dit) ${file} | æ°ããã¿ãã§éã |
:vs(plit) ${file} | 縦åå²ã§éã |
:sp(lit) ${file} | 横åå²ã§éã |
ãã©ã°ã¤ã³ãªãã®æå°vimrcã欲ãã
æä½éã§ããï¼ããããã®ã¯ã©ãã§ããããï¼
" :h ${option} to read the vimdoc. " syntax syntax on " line number set number set cursorline " backup set nobackup set noswapfile " buffer set hidden set confirm " tab complete set wildmenu " search set hlsearch set ignorecase set smartcase set wrapscan set incsearch " {} set showmatch inoremap { {}<left> inoremap ( ()<left> inoremap [ []<left> inoremap " ""<left> inoremap ' ''<left>
mapping çãå«ãã¦ï¼å
¬éãã¦ãã ãã£ã¦ãããã®ãããã¾ã â
deris.hatenablog.jp
â vimrc ã®èªã¿æ¹ããããã
:h wildmenu
ãªã©ã¨ããã¨ï¼vimdoc ã§ãã«ããé²è¦§ã§ãã¾ãï¼
vimrc åºæ¬ææ³ãæéã§ãã¹ã¿ã¼ã§ããè¨äºãããã®ã§ï¼ã¾ããã¡ãã«ä¸éãç®ãéãã®ããããããããªãã§ã.
thinca.hatenablog.com
Escã¨ãããã©ã«ãã®ãã¼ããããã¤ãã
Esc ãã¼ã®å²ãå½ã¦ãtab, åå²ã¦ã£ã³ãã¦ã®æä½ãããããmapããã®ã¯ã©ãã§ããã.
:map
ããã¨ä»å½ãã£ã¦ããããã³ã°ã確èªã§ãã¾ã.
"<esc>Â -> jj inoremap jj <esc> " tab nnoremap <Tab><right> gt nnoremap <Tab><left> gT " window-tab-mappings nnoremap ss <C-w>w nnoremap sj <C-w>j nnoremap sk <C-w>k nnoremap sl <C-w>l nnoremap sh <C-w>h " move Ctrl-h,j,k,l, in insert mode inoremap <C-h> <Left> inoremap <C-j> <Down> inoremap <C-k> <Up> inoremap <C-l> <Right>
ç¹å®ã®ãã¡ã¤ã«ãéããæã®æåãè¨å®ããã
au(tocmd)
ã使ãã¨è¯ãï¼ãã¡ã¤ã«ã ãã§ãªãï¼ãããã¡ãªã©ã«å¯¾ãã¦ãè¨å®ã§ããã®ã§ã¨ã¦ã便å©ã§ã.
詳ãã使ãæ¹ã¯ :h au
ããã¨å¤§ä½ãããã¾ã.
vimrc基礎文法最速マスター - 永遠に未完成
ã§ã解説ããã¦ãã¾ãï¼
augroup MyAugroup au! au FileType vim setlocal keywordprg=:help au FileType help,quickfix,quickrun,gf nnoremap <buffer> q <C-w>c au BufRead,BufNewFile *.cu,*.cuh setlocal filetype=cpp au BufRead,BufNewFile *.log filetype=messages au FileType tex setlocal spelllang+=cjk au FileType tex setlocal spell augroup END
Kã³ãã³ã
vimãããã«ãããã¥ã¡ã³ããå¼ã³åºãã«ã¯Kã³ãã³ãã便å©ã§ã.
ä¾ãã°
aug MyAugroup au! au FileType vim setlocal keywordprg=:help au FileType sh setlocal keywordprg=:Man aug END
ã¨ããã°ï¼
- vimrc, vimscriptã§
K
ãã¿ã¤ãããã¨ã«ã¼ã½ã«ä»¥ä¸ã®åèªã«å¯¾ãã¦:help ${word}
ãã - shell script ã§
K
ãã¿ã¤ãããã¨ã«ã¼ã½ã«ä»¥ä¸ã®åèªã«å¯¾ãã¦man
ãå¼ã³åºã
ããã«ã§ãã¾ãï¼ä»ã®è¨èªã§ãåæ§ã«ï¼Kãæ¼ããã¨ãã«invokeããã³ãã³ããè¨å®ãããã¨ãã§ãã¾ãï¼è©³ããã¯:h K
ãè¦ã¦ä¸ãã
æ£è¦è¡¨ç¾
æåãã¾ãã¨ã¹ã±ã¼ãã§ããªãã¦é£ããã®ã§ï¼ä»¥ä¸ãåèã«ããã¨è¯ãã§ã
deris.hatenablog.jp
ãã©ã°ã¤ã³ã使ããã
Vimã«ã¯ 沢山のプラグインマネージャ ãããã¾ã.
dein.vim
- toml å½¢å¼ã§ãã©ã°ã¤ã³ãè¨è¿°ã§ãã
- ãã¼ããé«é
- æ¡ä»¶ã«å¿ãã¦ãã©ã°ã¤ã³ããã¼ãããï¼ããªããç°¡åã«è¨å®ã§ããï¼filetype=Xã®æã ããã¼ãããï¼ãªã©ï¼
- â Vimã®åä½ãé«éã«ä¿ã¦ãï¼
- ãã©ã°ã¤ã³ãã¨ã«ï¼è¨å®ãã¡ã¤ã«ãhookã§ãã
ã¨ããçç±ã§, ä»ã ã¨dein.vim ã使ãã®ãè¯ãã®ã§ã¯ãªããã¨æãã¾ã.
wakame.hatenablog.jp
ãã©ã°ã¤ã³ãæ¢ããã
vim公式ãããã®ã§ããï¼VimAwesome ã®æ¹ãæ°ãå¤ãï¼GitHubã«ããã£ã¦ããåã網ç¾
ããã¦ããï¼ã§ã.
vimawesome.com
ãã©ã°ã¤ã³ï¼æåã®ä¸å
... ã«ã¯ä½ãå§ããã¹ããªã®ã ããã..
èªå㯠powerline ãå§ãããã¦ï¼ããã£ã¤ã³ãµã¼ãã¢ã¼ããéãå
ã£ã¦ãã£ããã... ã¨ãªã£ãè¨æ¶ãããï¼ï¼
ä»ã¯ lightline ã使ã£ã¦ãã¾ã.
github.com
Gité£æº
fugitive.vim
ã使ã£ã¦ãã¾ã.
wakame.hatenablog.jp
vim-gitgutter ã便å©ãã
github.com
ã³ã¼ããªã¼ãã£ã³ã°
incsearch, gtags(or ctags), grep ç³»ãè¨å®ããã¨è¯ãã¨æãã¾ã.
wakame.hatenablog.jp
wakame.hatenablog.jp
unite/denite ã使ããªããã¿ã¼ã³ã¨ãã¦ï¼ä»¥ä¸ãåèã«ãªãã¨æãã¾ã*7.
statico.github.io
Lint
åæå¼ã ã¨ã³ã¼ãæ¸ãã¦ãéä¸ã«ãããã¯ãã¦ãã¾ãã¾ããï¼ä»ã¯éåæã§åä½ãã ale.vim ãããã¾ã.
wonderwall.hatenablog.com
ã³ã¼ãä¸ãé«éã«ç§»åããã
easymotion ã使ã£ã¦ãã人ãããè¦ããã¾ã.
haya14busa.com
vimrcãè¥å¤§åãã¦ãã
ãã®èª¿åã
vimrcåå²ããã
ããã©ã«ãã®æ©è½ã使ã£ã¦ç°¡åã«åå²ã§ãã¾ã.
wakame.hatenablog.jp
neovim ã£ã¦ã©ããªã®ã
github.com
neovim è¯ãã§ãï¼èªåã¯nvim ãã¡ã¤ã³ã«ä½¿ã£ã¦ãã¾ãï¼ãã ãµã¼ãã¼ã§ä½æ¥ããã¨ãã«å
¥ã£ã¦ãªãã®ã§ããã¯... *8
vimã¨ã®è¨å®ãã¡ã¤ã«ã¯ has('nvim')
ãã©ã°ãç¨ãã¦Vimã¨å
±éåã§ãã¾ããï¼èªåã¯å®å
¨ã«åé¢ãã¦ãã¾ã£ã¦ãã¾ã.
wakame.hatenablog.jp
ããã¦...
ä»åç´¹ä»ããããªãã£ãï¼ããããã®åºæ¬æ©è½ï¼tipsï¼ãã©ã°ã¤ã³ãããã¾ãï¼
Vim Advent Calendar
è²ããªæ¹ãtipsãæ¸ããã¦ãã¦ã¨ã¦ãåèã«ãªãã¾ãï¼ç¹ã«2012å¹´ã¯365æ¥ãã£ã¦ããã®ã§ã¨ã¦ãèªã¿å¿ããããã¾ã.
d.hatena.ne.jp
vimrcèªæ¸ä¼
vimrcã¯èªã¿ç©ã ã£ãï¼!ï¼
vim-jp.org
ã¢ã³ããã¿ã¼ã³ã以ä¸ã«ã¾ã¨ãããã¦ãã¦ï¼ã¨ã¦ãåèã«ãªãã¾ã
rbtnn.hateblo.jp
Vimãã¨ã¦ã好ãã«ãªã£ã
å¯ä»ãããã¨è¯ãã¨èãã¾ããï¼
nakazye.hatenablog.com
*1::h èªãã ããããï¼ã§ä¸¸æãããã®ãåå ãªæ°ããã¦ãã
*2:ä»äººã®è¨å®ãã³ãããã¦åãããããã§ããã°ï¼åãããããç¨åº¦è¨å®ãããã¨ãã£ã¿/IDEã使ãã®ãè¯ãã¨æãããã§ã.
*3:大ä½ããã§æ«æãã人ãå¤ã
*4:ããã©ãã®ã§å¾ã§ãã¼ããããå½ã¦ã
*5:ããã©ãã®ã§å¾ã§ãã¼ããããå½ã¦ã
*6:ãããæ £ããã¾ã§è¨å¤§ãªæéãããã
*7:æ¥æ¬ã®ã³ãã¥ããã£ã¨ã¯ä½¿ã£ã¦ããã©ã°ã¤ã³ãéã£ã¦ããããã
*8:python3ã«ä¾åãããã©ã°ã¤ã³ãå¤ãã®ã§ï¼python3, python3-pipãå ¥ããå¿ è¦ããã