.vimrcらへんのメモ
これも職場と自宅鯖で環境が食い違うとだるいのでメモる。たまに追記するかも。
どこで環境を拾ってきたか忘れた部分が多々あります。ありがとうございます。ごめんなさい。
NeoBundleいれる
mkdir ~/.bundle git clone git://github.com/Shougo/neobundle.vim.git ~/.bundle/neobundle.vim
.vimrc
set nocompatible filetype off if has('vim_starting') set runtimepath+=~/.bundle/neobundle.vim call neobundle#rc(expand('~/.bundle')) endif NeoBundle 'git://github.com/Shougo/neocomplcache.git' NeoBundle 'git://github.com/Shougo/neocomplcache-snippets-complete.git' NeoBundle 'git://github.com/Shougo/neobundle.vim.git' NeoBundle 'git://github.com/Shougo/vimfiler.git' NeoBundle 'git://github.com/Shougo/unite.vim.git' NeoBundle 'git://github.com/mattn/zencoding-vim.git' NeoBundle 'taglist.vim' NeoBundle 'sudo.vim' NeoBundle 'molokai' syntax on filetype plugin on set encoding=utf-8 set t_Co=256 colorscheme molokai "新しい行のインデントを現在行と同じにする "set autoindent "ファイル保存ダイアログの初期ディレクトリをバッファファイル位置に設定 set browsedir=buffer "クリップボードをWindowsと連携 set clipboard=unnamed "Vi互換をオフ set nocompatible "スワップファイルをつくらない set noswapfile set nobackup "タブの代わりに空白文字を挿入する set expandtab "変更中のファイルでも、保存しないで他のファイルを表示 set hidden "インクリメンタルサーチを行う set incsearch "タブ文字、行末など不可視文字を表示する set list "listで表示される文字のフォーマットを指定する set listchars=eol:$,tab:>\ ,extends:< "行番号を表示する set number "閉じ括弧が入力されたとき、対応する括弧を表示する set showmatch "検索時に大文字を含んでいたら大/小を区別 set smartcase "新しい行を作ったときに高度な自動インデントを行う set smartindent "行頭の余白内で Tab を打ち込むと、'shiftwidth' の数だけインデントする。 set smarttab "カーソルを行頭、行末で止まらないようにする set whichwrap=b,s,h,l,<,>,[,] "検索をファイルの先頭へループしない set nowrapscan "検索のハイライト set hlsearch ""ハイライトをEscで抜ける nmap <Esc><Esc> :nohlsearch<CR><Esc> "Zen Coding let g:user_zen_expandabbr_key = '<c-e>' "minibuffer let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBuffs = 1 " カッコなどを挿入したら自動的に中へ inoremap {{ {}<LEFT> "inoremap <LEFT> inoremap (( ()<LEFT> inoremap "" ""<LEFT> inoremap '' ''<LEFT> inoremap << <><LEFT> inoremap {% {%<Space><Space>%}<LEFT><LEFT><LEFT> inoremap [[ []<LEFT> "Tabでウィンドウの移動 nnoremap <silent><Tab> <C-w>w ">や<で幅調節 nnoremap <silent>> <C-w>> nnoremap <silent>< <C-w>< "FileType "シフト移動幅 autocmd FileType * set shiftwidth=4 "ファイル内の <Tab> が対応する空白の数 autocmd FileType * set tabstop=4 autocmd FileType javascript set tabstop=2 autocmd FileType javascript set shiftwidth=2 autocmd FileType html set tabstop=2 autocmd FileType html set shiftwidth=2 autocmd FileType python set tabstop=4 autocmd FileType python set shiftwidth=4 "" unite.vim " 入力モードで開始する " let g:unite_enable_start_insert=1 " バッファ一覧 nnoremap <silent> fb :<C-u>Unite buffer<CR> " ファイル一覧 nnoremap <silent> ff :<C-u>UniteWithBufferDir -buffer-name=files file<CR> " レジスタ一覧 nnoremap <silent> fr :<C-u>Unite -buffer-name=register register<CR> " 最近使用したファイル一覧 nnoremap <silent> fm :<C-u>Unite file_mru<CR> " 常用セット nnoremap <silent> fu :<C-u>Unite buffer file_mru<CR> " 全部乗せ nnoremap <silent> fa :<C-u>UniteWithBufferDir -buffer-name=files buffer file_mru bookmark file<CR> ""neocomplcaceh let g:neocomplcache_enable_at_startup = 1 "ネオコンのスニペット展開 imap <C-k> <Plug>(neocomplcache_snippets_expand) "let g:neocomplcache_dictionary_filetype_lists = { " \ 'default' : '', " \ 'javascript' : $HOME.'/.vim/javascript.dict', " \ 'html' : $HOME.'/.vim/javascript.dict', " \} autocmd FileType html set dictionary=$HOME/.vim/javascript.dict,$HOME/.vim/jQuery.dict autocmd FileType javascript set dictionary=$HOME/.vim/javascript.dict,$HOME/.vim/jQuery.dict "vimfilerをデフォルトにする let g:vimfiler_as_default_explorer = 1 "taglist Macの /usr/bin/ctags は消すこと set tags=tags
.vim/plugin/
- minibufexpl.vim
- バッファを見やすくする
- 参考::minibufexpl.vim : タブエディタ風にバッファ管理ウィンドウを表示 — 名無しのvim使い
- surround.vim
- ""などで囲んだ部分に対してのもろもろ
- 参考:: vim plugin (プラグイン) surround.vim の使い方メモ : Serendip - Webデザイン・プログラミング
- zencoding.vim
- HTMLなどでタグをガンガン展開する
- 参考::zencoding.vimで、10倍速くHTMLを書く
- autocomplpop.vim
- Ctrl p の補完をインクリメンタルにできる
- 参考:: autocomplpop.vimでリアルタイムにキーワード補完 - ナレッジエース
- 辞書補完の参考::autocomplpop.vim による自動補完が便利すぎる
- neocomplcache.vim
- autocomplpopから乗り換えた
- 超補完
- すごい
- FuzzyFinder.vim
- あいまい検索などでエクスプローラ機能を充実
- とりあえずff,fbでカレントディレクトリからの再帰的検索が便利だからそれをつかっている
- FuzzyFinder.vimにはL9.vimが必要。またコピーするときのディレクトリ構造に注意。
- 参考::FuzzyFinderの「FufFile **/」が最強:利用頻度1日数十回
- 参考::fuzzyfinder.vim -> fuf.vim
- unite.vim
- FuzzyFinder.vimから乗り換えた。高機能、便利。
- 参考::Vimでファイラー兼ランチャーなunite.vimプラグインを使う - アインシュタインの電話番号
- 他、参考::vim入門 (vim study #1)
プラグインを使うときの注意点
- 基本的にはダウンロードしたファイルを展開して /plugin/*.vim を~/.vim/plugin/ にいれてやればいい
- doc,autoloadも必要な場合は適宜ディレクトリ構造そのままに展開してやる必要がある。
~.vimrc ~/.vim/doc/* ~/.vim/autoload/* ~/.vim/autoload/l9/* ~/.vim/autoload/fuf/* ~/.vim/plugin/*
よく使う操作
- h,j,k,l #上下左右
- w,b #単語単位で左右移動
- $,^ #行末、行頭移動
- C-f,b #上下ページ移動
- gg,G #文頭、文末へ移動
- a,A,i,I #文頭文末でインサート
- o,O #上下にインサート
- :new,:vnew #新しいペインの作成
- :sp,vsp #こっちのほうがバッファを汚さないかも?
- :close #ペインを閉じる
- C-w h,j,k,l #ペイン間の移動
- :ls #バッファの参照、:b[数字]で移動
- :b[数字] #バッファを直接参照
- :bufdo :hoge #バッファに対して作業
- :E #エクスプローラー
- v,V,Ctrl v #ヴィジュアルモード
- m[str] '[str] #m[str]でマーク、'[str]でマークしたところに戻る
とりあえず
これだけ知ってればまあそれなりに動ける。もっとバキバキやりたいのでもっと追加したい。