アットウィキロゴ

↑の.vimrc

"---
" vim環境を移行する場合は、.vimrcをコピーして
" git clone http://github.com/gmarik/vundle.git ~/.vim/vundle.git をした後
" :BundleInstall するだけ

" vundle setting
" http://blog.livedoor.jp/sasata299/archives/51711587.html
set rtp+=~/.vim/vundle.git/
call vundle#rc()

" http://vim-scripts.org/vim/scripts.html
Bundle "Align"
Bundle "eregex.vim"
Bundle "Markdown"
Bundle "rest.vim"
Bundle "taglist.vim"
Bundle "The-NERD-tree"
Bundle "DrawIt"
Bundle "Gundo"
Bundle "ShowMarks7"
Bundle "quickrun.vim"
Bundle "VOoM"
Bundle "ZenCoding.vim"
" colorscheme
Bundle "molokai"
Bundle "Solarized"

" https://github.com/
Bundle "mileszs/ack.vim"
Bundle "Lokaltog/vim-powerline"

"----------------------------------
" 基本設定
"


" vim拡張モード
set nocompatible

" バックスペースで文字削除
set bs=2

" 検索などの履歴
set viminfo+=n~/.viminfo

" カーソル位置をバーに表示
set ruler

" nobackup
set nobackup

" zsh風のファイル名補完しない
set nowildmenu

" undo redo の回数
set undolevels=1000

" 全ファイルの自動改行禁止
set textwidth=0

" <C-a> で8進数として扱わない
set nrformats-=octal

" beep と画面フラッシュを消す(linux only)
set novisualbell

" 色付き表示
syntax on

" 行番号表示
set number

" タブと >> の幅はスペース4つ分
set tabstop=4
set shiftwidth=4
set softtabstop=4

" ビジュアルモードかどうか見せる
set showmode

" 自動字下げ
set cindent

" 括弧対応を強調
set showmatch

" 右下あたりに状態表示( 100G 等が出る )
set showcmd

" 括弧のパターン(追加すると % で対応に飛べる)
"set matchpairs=<:>,(:),{:},[:]
set matchpairs=(:),{:},[:]

" アルファベットの切れ目で改行しないとか
" その他 :h 'formatoptions' 参照
"set formatoptions=tcqr
set formatoptions=

" 保存ヒストリ数
set history=500


" :set list 時の表示文字
set listchars=eol:$,tab:>_

set nolist
set paste

"----------------------------------
" 検索関連
"
" 検索結果をハイライト表示
set hlsearch

" 検索文字に順次ヒット
set incsearch

" 大文字小文字の区別なし
set noignorecase

" 下までいったら循環して上に戻ってこない
set nowrapscan

" 検索結果を常に画面中央に表示
map n nzz
map N Nzz
map * *zz
map # #zz
map g* g*zz
map g# g#zz

"----------------------------------
" 文字コード関連
" ファイル名や状態を常時表示
set laststatus=2
set fileencodings=utf-8,euc-jp,sjis,iso-2022-jp
set fileencoding=utf-8

"ステータスラインにファイルタイプ・文字コード・改行文字を表示
" Powerlineで代用するため不要になった
"set statusline=%<[%n]%F%=\ %m%r%h%w%y%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}\ %l,%c\ %P


"---------------------------------
" マクロ関連
"
" 折り返し行も見た目一行移動
nnoremap j gj
nnoremap k gk


" ビジュアルモードからの検索と置換
"選択した文字列を検索
vnoremap <silent> // y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR>
"選択した文字列を置換
vnoremap /s "xy:%s/<C-R>=escape(@x, '\\/.*$^~[]')<CR>//gc<Left><Left><Left>

" key map
map <Up> Hk
map <Down> Lj
map <Left> ^
map <Right> $

" 間違って押しやすいから
map <C-@> <ESC>


" 短縮入力のような
ab #- ####----------------------------------------------------------------------------



" 行、列のハイライト表示
"set cursorline
"set cursorcolumn

" フリーカーソル {block, insert, all, onemore}
set virtualedit=all



"gvim
if has('gui')
" filename:.gvimrc
" gvim 専用

" 画面点滅を消す
set novisualbell

" " ウインドウサイズ lines:縦 columns:横
" set lines=40
" set columns=100

" ウインドウ表示位置
winpos 10 0

" フォント設定
set guifont=Ricty\ Bold\ 11
endif

if has("unix")
language messages en_US.UTF-8
set bg=dark
endif "has("unix")

if has("win32")
" フォント設定
set guifont=VL_ゴシック:h10:cSHIFTJIS
set linespace=0
" beep と画面フラッシュを消す(windows only)
set vb t_vb=
" 日本語IMEoff
set imi=0 ims=0
colorscheme zellner

set lines=40
set columns=120
endif

" 保存しなくてもファイルを切り替えることができ
" undo, redo の情報も保持させる
set hidden


" カーソルを点滅しないようにする
set guicursor=a:blinkon0


" 色テーマ設定
colorscheme default
"colorscheme desert
"colorscheme darkblue
"colorscheme delek
"colorscheme morning
"colorscheme torte
"colorscheme evening

" デフォルトは guioptions=agimrLtT
set guioptions=agimtT
" ツールバーを消して起動
set guioptions-=T

" メニューバーを消して起動
set guioptions-=m



" ------------------------------------------------------------------------------
" 配色のカスタマイズ
" ------------------------------------------------------------------------------

" 赤地に白文字
highlight search cterm=bold ctermfg=7 ctermbg=1 guifg=White guibg=Red
" 白地に赤文字
highlight todo cterm=bold ctermfg=1 ctermbg=8 guifg=Red guibg=White




""""----------------------------------------------------------------------------
""" 覚え書き
""

" そのファイル内のみに有効な設定
" Javaファイルの場合( ts sts sw fdm 設定。 marker で {{{ }}} で折り畳み )
" // vim:set tabstop=4:softtabstop=0:shiftwidth=4:foldmethod=marker


" 一行に延々と書かれたHTMLファイルを見やすく改行( \n はごみが出力されるだけ)
"  Carriage Return = \r, Line Feed = \n
" :%s/\(<\/[^>]\+>\)/\1\r/g

" 000..100 まで出力
" :r! awk 'BEGIN{ for(i=0; i<=100; i++) printf("\%03d\n", i); }'

" 空行削除(awk: NF 1行のフィールド個数. NR 現在の行数. FS 区切り文字)
" :%!awk 'NF > 0'
" :%!sed -e '/^$/d'
" :%g/^$/d
" どれでもよい

" \U 次の文字から \E までを大文字にするメタキャラクタ
" 全てを大文字に置換( tr 'a-z' 'A-Z' のようなことをする )
" :%s/\([a-z]\)/\U\1\E/g

" \L 次の文字から \E までを小文字にするメタキャラクタ
" 全てを小文字に置換( tr 'A-Z' 'a-z' のようなことをする )
" :%s/\([A-Z]\)/\L\1\E/g

" man の nmap をテキストにする
" man nmap | col -bfx > nmap.man

" HTML メールの本文を削除する
" :% !sed -e '/<\(html\|HTML\)>/,/<\/\(html\|HTML\)>/d'

" ヘルプ画面でのリンクの移動
" <C-]> 移動し <C-t> で戻る

" <TAB> を <SPACE> にする
" :set expandtab とした後 :retab
" スペースからタブへは戻せないみたい

" 検索方法
" /target\C -> target
" /target\c -> [tT][aA][rR][gG][eE][tT]

" 単語の切れ目で検索できる
" /target\> -> aaa target bbb
" -> aaa targetbbb はヒットしない
" /\<target -> aaa target bbb
" -> aaatarget bbb はヒットしない

" オプションがどのファイルで設定されたかを表示
" :verbose set tw

" インデントをスペースに置き換えたい
" :set expandtab
" とし、
" :retab
" で置き換えが可能。スペースからタブへはできないみたい

" Windowsで再帰grep
" :grep /S search_key target_file_or_directory
"
" Linuxで再帰grep
" :grep -r search_key target_file_or_directory
"
" vim7内蔵のgrep
" :vimgrep search_key file
"
" grepの結果確認
" :copen

"Visual Studio で作成したファイルを開くと、ファイルの最初に ? が見えることがある。
"これは、 :e ++enc=ucs-bom として開くとよい。
"文字コードは、 UTF-8 で、 Byte Order Mark が付いているファイルという意味。



" vimでrubyを便利に使う方法
"
" %で対応括弧へ飛ぶ方法。<C-X><C-O>で補完もできる
" 1. gem install vim-ruby でvim-rubyインストール
" 2. matchitをインストール http://www.vim.org/scripts/script.php?script_id=39
"
" rubyの構文チェックする方法
" 1. $VIM/vimfiles/ftplugin に ruby.vim を作る。
" 2. ruby.vim に、compiler ruby と書く。
" map <F9> :make -c %<CR> としてから、<F9>押すと構文チェックができる。
" エラーがあると、:cw でエラーが見え、該当個所へ飛べるようになる。
" :cc [n]でn番目のエラー行にジャンプ
" :cnで次のエラー行にジャンプ
" :cNで前のエラー行にジャンプ
"
"




" pydictionの設定 omnifuncで保管機能が使えるようになる。
" vimが+pythonでコンパイルされている必要有り。
" 設定すると、*での単語指定がおかしくなるから使用しないことにする。
"filetype plugin on
"if has("win32")
" let g:pydiction_location = 'D:/app/vim72-kaoriya-w32j/vimfiles/ftplugin/pydiction/complete-dict'
"endif
"
"let g:pydiction_menu_height = 20
"
"if has("autocmd")
" autocmd FileType python set complete+=k/D:/app/Vim/pydiction/pydiction iskeyword+=.,(
"
"endif "has"



" ------------------------------------------------------------------------------
" 拡張子ごとの個別設定
" ------------------------------------------------------------------------------

augroup MyGroup
autocmd!

" ruby settings
autocmd MyGroup BufNewFile,BufRead *.rb set filetype=ruby expandtab sw=2 ts=2 sts=2 nocindent autoindent
autocmd MyGroup BufNewFile,BufRead *.erb set filetype=eruby expandtab sw=2 ts=2 sts=2 nocindent autoindent

" python settings
autocmd MyGroup BufNewFile,BufRead *.py set filetype=python et sw=4 ts=4 sts=4 nocindent autoindent

" java(android) settings
autocmd MyGroup BufNewFile,BufRead *.aidl set filetype=java

" javascript settings
autocmd MyGroup BufNewFile,BufRead *.js set filetype=javascript sw=2 ts=2 sts=2 ai cin

" gitit wiki(markdown)
autocmd MyGroup BufNewFile,BufRead *.page set filetype=mkd
autocmd MyGroup BufNewFile,BufRead *.md set filetype=mkd

" rest
autocmd MyGroup BufNewFile,BufRead *.rst set  filetype=rest expandtab sw=2 ts=2 sts=2
autocmd MyGroup BufNewFile,BufRead *.rest set filetype=rest expandtab sw=2 ts=2 sts=2
autocmd MyGroup BufNewFile,BufRead *.page set filetype=rest expandtab sw=2 ts=2 sts=2

" yml(dotcloud)
autocmd MyGroup BufNewFile,BufRead *.yml set filetype=yaml expandtab sw=2 ts=2 sts=2

augroup END


" ------------------------------------------------------------------------------
" 新しくファイルを作ったときのテンプレ
" ------------------------------------------------------------------------------

" 短いテンプレだから使わなくなった
"augroup MyTemplate
" autocmd!
" autocmd BufNewFile *.py 0r $HOME/.vim/skel/python
"
" autocmd BufNewFile *.html 0r $HOME/.vim/skel/html
"
"augroup END


" ------------------------------------------------------------------------------
" 保存時にシンタックスなどのチェック
" ------------------------------------------------------------------------------

" warn多いから面倒で使わなくなった
"augroup MyCheck
" autocmd!
" autocmd BufWrite *.py w !pep8 %
"augroup END



" ------------------------------------------------------------------------------
" 半角スペースが入ったファイル名もgfで開けるようにする
" ------------------------------------------------------------------------------
"set isfname+=32

" ------------------------------------------------------------------------------
" *.swpの出力先
" ------------------------------------------------------------------------------
set directory=~/.vimswap

" ------------------------------------------------------------------------------
" Gundo用のツリー展開
" ------------------------------------------------------------------------------
nnoremap <F5> :GundoToggle<CR>

" ------------------------------------------------------------------------------
" NERDTreeのツリー展開
" ------------------------------------------------------------------------------
nnoremap <F6> :NERDTreeToggle<CR>
let g:NERDTreeIgnore = ['\~$', '\.pyc', '\.pyo', '\.class', '\.sqlite', '__pycache__']


" ------------------------------------------------------------------------------
" taglist
" ------------------------------------------------------------------------------
nnoremap <F7> :Tlist<CR>

" ------------------------------------------------------------------------------
" neocomplcache
" ------------------------------------------------------------------------------
" 勝手にnoautoindentされるため使わなくなった

"let g:neocomplcache_enable_at_startup = 1


" ------------------------------------------------------------------------------
" showmarks7(マークの可視化)
" ------------------------------------------------------------------------------
let g:showmarks_include='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nnoremap <F8> :ShowMarksToggle<CR>


" ------------------------------------------------------------------------------
" 使い方メモ
" ------------------------------------------------------------------------------

" drawitの操作
" \di 線の開始
" \ds 線の停止

" quickrunの実行
" \r


" viの削除したりコピーした文字をコマンド行で使用する
" /<C-r>"


" zen-coding
" gvimだと <C-y>, で展開する(vimは動作しなかった)
let g:user_zen_settings = {
\  'php' : {
\    'extends' : 'html',
\    'filters' : 'c',
\  },
\  'xml' : {
\    'extends' : 'html',
\  },
\  'haml' : {
\    'extends' : 'html',
\  },
\}


" Powerline
" http://d.hatena.ne.jp/shim0mura/20120423/1335197161
"
" 1. フォントの生成
" 2. t_Co=256などを.vimrcに追記する
"
" フォントの生成手順(転載)
" $ sudo apt-get install fontforge
" $ mv Ricty-Regular.ttf ./bundle/vim-powerline/fontpatcher
" $ mv Ricty-Bold.ttf ./bundle/vim-powerline/fontpatcher
" $ cd ./bundle/vim-powerline/fontpatcher
" $ fontforge -lang=py -script fontpatcher Ricty-Regular.ttf
" $ fontforge -lang=py -script fontpatcher Ricty-Bold.ttf
" $ mv Ricty-Regular-Powerline.ttf ~/.fonts
" $ mv Ricty-Bold-Powerline.ttf ~/.fonts
" このときフォントキャッシュの更新などは不要だった
"
" 装飾付きになるが見づらいので使わない
"let g:Powerline_symbols = 'fancy'
" カラフルになる
set t_Co=256

タグ:

+ タグ編集
  • タグ:
最終更新:2012年08月16日 11:17
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。