Edited at

現在使用している.vimrc

More than 3 years have passed since last update.

ちょっとだけ整理。


NeoBundleの準備

NeoBundleが入っているとOSをリストアしても.vimrcを復元すればプラグインががしがし元に戻るのでありがたいですね。

$ mkdir -p ~/.vim/bundle/

$ cd ~/.vim/bundle
$ git clone https://github.com/Shougo/neobundle.vim.git


.vimrc


.vimrc

scriptencoding utf-8 " エンコーディング指定

set encoding=utf-8 " Windows版(香り屋版)でencodingをutf-8にするとトラブルが起きる場合があるため注意
set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8
set shellslash " (Windows向け)パス区切りをスラッシュに

" オペレーション系
set autoindent " 自動インデントを有効に
set smartindent "オートインデント
set formatoptions=q "改行無効化
set wildmenu wildmode=list:longest,full " コマンドラインモードでTABキーによるファイル名補完を有効にする
set history=10000 " コマンドラインの履歴を10000件保存する
set clipboard=unnamed,unnamedplus "クリップボードをOSと共有
set mouse=a " マウスカーソルの反応
set scrolloff=8 "上下8行の視界を確保
set sidescrolloff=16 " 左右スクロール時の視界を確保
set sidescroll=1 " 左右スクロールは一文字づつ行う
set whichwrap+=h,l,<,>,[,],b,s " 行末・行頭から次の行へ移動可能に
set backspace=indent,eol,start "Backspaceキーの影響範囲に制限を設けない
set nostartofline " ページアップ・ダウン時にカーソル位置を移動しない
set virtualedit=block " 矩形ビジュアルモードをブロック表示に

" 表示系
set showmatch " 対応する括弧の強調
set title "編集中のファイル名を表示
colorscheme desert "カラースキームの設定
set ruler " カーソル位置表示
set number " 行番号の表示
set cursorline " カーソル行強調
" set cursorcolumn "カーソル列強調・見づらくなるので無効化
syntax enable " シンタックスハイライト

" ステータス行を2行に
set laststatus=2
set cmdheight=2

" 不過視文字を指定
" Windowsでは文字化けするので、他の文字に変更すること
set list
set listchars=tab:▸\ ,eol:,extends:,precedes:

" バックファイル・スワップファイルの指定
set backupdir=~/.vim/backup "バックアップファイルのディレクトリを指定する
set undodir=~/.vim/undo " Undoファイルの保存場所指定
set confirm "保存されていないファイルがあるときは終了前に保存確認
set hidden "保存されていないファイルがあるときでも別のファイルを開くことが出来る
set autoread "外部でファイルに変更がされた場合は読みなおす
set nobackup "ファイル保存時にバックアップファイルを作らない
set noswapfile "ファイル編集中にスワップファイルを作らない

"検索指定
set hlsearch " 検索文字列をハイライトする
set incsearch " インクリメンタルサーチを行う
set noignorecase " 大文字と小文字を区別しない
set smartcase " 大文字と小文字が混在した言葉で検索を行った場合に限り、大文字と小文字を区別する
set wrapscan " 最後尾まで検索を終えたら次の検索で先頭に移る

" ソフトタブ
set tabstop=2
set shiftwidth=2
set expandtab

" 外部Grep
"set grepformat=%f:%l:%m,%f:%l%m,%f\ \ %l%m,%f
set grepprg=grep\ -nh

" 一部フォーマットでの折り返し無効化
autocmd BufRead,BufNewFile *.html set nowrap
autocmd BufRead,BufNewFile *.js set nowrap
autocmd BufRead,BufNewFile *.css set nowrap
autocmd BufRead,BufNewFile *.less set nowrap

" ファイルフォーマット指定
au BufRead,BufNewFile *.js set ft=javascript syntax=jquery "javascript を jQuery モードで開く

" 他のウィンドウ・アプリでの変更を反映する
augroup vimrc-checktime
autocmd!
autocmd WinEnter * checktime
augroup END

" ----------------------- NeoBundle ---------------------------------
"
if has('vim_starting')
set nocompatible
set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#begin(expand('~/.vim/bundle/'))

NeoBundleFetch 'Shougo/neobundle.vim'

NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/vimproc', {
\ 'build' : {
\ 'windows' : 'make -f make_mingw32.mak',
\ 'cygwin' : 'make -f make_cygwin.mak',
\ 'mac' : 'make -f make_mac.mak',
\ 'unix' : 'make -f make_unix.mak',
\ },
\ }
NeoBundle 'Shougo/neocomplete.vim'
NeoBundle 'mattn/webapi-vim'
NeoBundle 'itchyny/lightline.vim'
NeoBundle 'tyru/open-browser.vim'
NeoBundle 'thinca/vim-quickrun'
NeoBundle 'plasticboy/vim-markdown'
NeoBundle 'kannokanno/previm'
NeoBundle 'TwitVim'
NeoBundle 'tpope/vim-fugitive'
NeoBundle 'airblade/vim-gitgutter'
NeoBundle 'matchit.zip'
NeoBundle 'surround.vim'
NeoBundle 'tell-k/vim-browsereload-mac'
NeoBundle 'mattn/emmet-vim'
NeoBundle 'groenewege/vim-less'
NeoBundle 'hail2u/vim-css3-syntax'
NeoBundle 'pangloss/vim-javascript'
NeoBundle 'kchmck/vim-coffee-script'
NeoBundle 'thinca/vim-ref'
NeoBundle 'katono/rogue.vim'
NeoBundle 'moznion/hateblo.vim'
NeoBundle 'motemen/hatena-vim'
NeoBundle 'scrooloose/syntastic'

call neobundle#end()

filetype plugin indent on

NeoBundleCheck

" ----------------------- NeoBundle End ---------------------------------

" ブラウザを開く
nmap <Leader>o <Plug>(openbrowser-smart-search)

" php辞書設定
autocmd BufRead *.php\|*.ctp\|*.tpl :set dictionary=~/.vim/dict/php.dict filetype=php
let g:ref_phpmanual_path = $HOME . '/.vim/refs/php-chunked-xhtml'

" TwitVim設定
let twitvim_browser_cmd = 'open'
let twitvim_force_ssl = 1
let twitvim_count = 40
let twitvim_filter_enable = 1
let twitvim_filter_regex = '\v^【(自動|定期|PR).*|https?:\/\/ask\.fm|https?:\/\/twitpic\.com|https?:\/\/shindanmaker\.com\/|手に入れた\!\shttps?:\/\/tou\.ch|とチェンジ!\shttps?://tou\.ch\/|リーダーになった!¥shttps?¥:¥/¥/tou¥.ch|https?:\/\/p\.twipple\.jp|https?://xn\-\-v8jvbf0y0lsa8140m\.biz/|https?\:\/\/uranaitter\.com|https?\:\/\/rekkacopy\.com|#countkun|#1tp|#bookmeter|#N_|(.*(#|#)[^\s]+){5,}|バトルポイント|#RTした人全員|#[^[:blank:]]{1,}分以内に[:blank:]]{1,}RTされたら|と思ったらRT|と思ったらRT|^QT:?|RT\s.*RT\s?\@|QT\s\@|“\@|^(RT)@!.*RT\s\@|#ダイモン|\"\@|有能$|有能。$|無能。$|無能$|ンゴ。|ンゴ$|ンゴゴゴ|ファッ!?|ファッ\!\?|ファッ\!\?|ファッ!?|たンゴ|ンゴゴ|ぐう畜|ぐうかわ|ぐうカワ|ファッ?|ファッ\?|うーんこの$|フェニキ|^【悲報|^\[MM読了\]|夕餉|朝餉|ʬʬʬ|ドメサカ|サンガ|おはボンバー|\"\@|はあちゅう|伊藤春香|伊藤 春香|伊藤\s春香|イケダハヤト|イケハヤ|yfrog.com|ゲソ。|#イソグレス|Ingress'

" キーアサイン
nnoremap ,tp :<C-u>PosttoTwitter<CR>
nnoremap ,tB :<C-b> :<C-u>BPosttoTwitter<CR>
nnoremap ,tC :<C-u>CPosttoTwitter<CR>
nnoremap ,td :<C-u>DMTwitter<CR><C-w>k
nnoremap ,tf :<C-u>FriendsTwitter<CR><C-w>k
nnoremap ,tu :<C-u>UserTwitter<CR><C-w>k
nnoremap ,tr :<C-u>RepliesTwitter<CR><C-w>k
nnoremap ,tN :<C-u>NextTwitter<CR>
nnoremap ,tP :<C-u>PreviousTwitter<CR>
nnoremap ,tR :<C-u>RefreshTwitter<CR>
nnoremap ,t1 :<C-u>ListTwitter hello<CR><C-w>k
nnoremap ,t2 :<C-u>ListTwitter favour<CR><C-w>k
nnoremap ,t3 :<C-u>ListTwitter hatena<CR><C-w>k
nnoremap ,t4 :<C-u>ListTwitter 超a-g-おじさん<CR><C-w>k
nnoremap ,t5 :<C-u>ListTwitter net-trends<CR><C-w>k

" twitvimウィンドウの折り返し無効・カーソル移動
autocmd FileType twitvim call s:twitvim_my_settings()
function! s:twitvim_my_settings()
set nowrap
set whichwrap=b,s,h,l,<,>,[,]
endfunction

" QuickRun
let g:quickrun_config = {}
" let g:quickrun_config['markdown'] = {
" \ 'outputter': 'browser'
" \ }

" Emmet
let g:user_emmet_settings = {
\ 'lang' : 'ja',
\
\ 'custom_expands1' : {
\ '^\%(lorem\|lipsum\)\(\d*\)$' : function('emmet#lorem#ja#expand'),
\ },
\ }

" PreVim(Markdown)
augroup PrevimSettings
autocmd!
autocmd BufNewFile,BufRead *.{md,mdwn,mkd,mkdn,mark*} set filetype=markdown
augroup END

" Esc2回押しによる検索ハイライト解除
nnoremap <ESC><ESC> :<C-u>nohlsearch<CR>

" Ctrl+Aで全文選択
" nnoremap <C-a> ggVG

" neocomplete
let g:neocomplete#enable_at_startup = 1
let g:neocomplete#enable_ignore_case = 1
let g:neocomplete#enable_smart_case = 1
if !exists('g:neocomplete#keyword_patterns')
let g:neocomplete#keyword_patterns = {}
endif
let g:neocomplete#keyword_patterns = {}
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<S-TAB>"

" hateblo.vim
let g:hateblo_vim = {
\ 'user': 'Borom',
\ 'api_key': 'hatena-api-key',
\ 'api_endpoint': 'https://blog.hatena.ne.jp/Borom/borom.hatenadiary.jp/atom',
\ 'WYSIWYG_mode': 0,
\ 'always_yes': 0,
\ 'edit_command': 'tabnew'
\ }

" タブ操作
nnoremap ~n :tabnext<CR>
nnoremap ~p :tabprevious<CR>
nnoremap ~^ :tabfirst<CR>
nnoremap ~$ :tablast<CR>
nnoremap ~<C-n> :tablast <bar> tabnew<CR>
nnoremap ~<C-w> :tabclose<CR>

" 検索時デフォルトでvery magic
nnoremap / /\v



.gvimrc

簡単だけど.gvimrcも書きました。


.gvimrc

" カラースキーム

colorscheme desert
" フォント指定
set guifont=Ricty\ Regular:h16

" 初期表示行列
set lines=40 columns=1200
" GUIの非表示
set guioptions-=T

" 透過設定
autocmd GUIEnter * set transparency=1 " 起動時
autocmd FocusGained * set transparency=11 " アクティブ時
autocmd FocusLost * set transparency=10 " 非アクティブ時



参考にしたサイトなど