menu
書いてる野郎
orebike@gmail.com
いろいろ遠ざかっていたので整理のついでにいろいろ見直す。
環境はMacVim 7.4 kaoriya 版 を使用
" vi互換の動きにしない set nocompatible " 暗号化をblowfish暗号にする set cryptmethod=blowfish "左右のカーソル移動で行間移動可能にする。 set whichwrap=b,s,<,>,[,] nnoremap h <Left> nnoremap l <Right> " ビジュアルモードでのヤンク後にカーソルを選択前の位置に戻さない vnoremap y y`> " 検索を循環させない set nowrapscan " バックアップファイルを作成しない set nobackup " スワップファイルを作成しない set noswapfile " 対応括弧の強調しない set matchtime=0 " 行番号表示 set number " 見た目で行移動 nnoremap j gj nnoremap k gk vnoremap j gj vnoremap k gk " 削除でレジスタに格納しない(ビジュアルモードでの選択後は格納する) nnoremap x "_x nnoremap dd "_dd " 水平タブ系の設定============================================== " デフォルト設定 " タブとか改行を表示する set list " タブとか改行を示す文字列 eol(改行)は背景色違いのスペースにする。 set listchars=tab:>-,extends:<,trail:-,eol:\ "タブを空白で入力する set expandtab "標準タブは4 set tabstop=4 set softtabstop=4 "自動的に前行と同じインデント挿入する set autoindent " visualモードでインデントをいじったあとに解除しない vnoremap > >gv vnoremap < <gv " 空行のインデントを勝手に消さない nnoremap o oX<C-h> nnoremap O OX<C-h> inoremap <CR> <CR>X<C-h> " 文字コード関連 " 文字コードの自動解釈の優先順位 set fileencodings=utf-8,cp932,euc-jp " 改行コードの解釈優先順位 set fileformats=unix,dos " 内部の解釈の文字コード 設定ファイルもこのコードで書け set encoding=utf-8 " 内部の改行コード set fileformat=unix " ヤンクをクリップボードへ送り込む set clipboard+=unnamed " Ubuntu の Vim の場合はこっちじゃないとクリップボードに入らなかった " set clipboard=unnamedplus " 編集中でもバッファを切り替えれるようにしておく set hidden "ステータスのところにファイル情報表示 set statusline=%<[%n]%F%=\ %m%r%h%w%y%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}\ %l,%c\ %P "ルーラーを表示 set ruler set title " 矩形選択で行末を超えてブロックを選択できるようにする set virtualedit+=block "esc連打でハイライトをオフ nnoremap <silent> <ESC><ESC> :noh<CR> " ノーマルモード中でもエンターキーで改行挿入でノーマルモードに戻る noremap <CR> i<CR><ESC>
設定置き場。基本WindowsでgVimなんだけど、ほかのプラットフォーム版とか古いやつとか素のviとかでもできるかもしれん
全体挙動に関しては同じディレクトリの
_vimrc
ファイルに書く。
Windowの挙動とか、色が絡む設定に関しては
_gvimrc
ファイルに書く
ファイルタイプごとの挙動に関しては
runtime/ftplugin
ファイルタイプごとの配色に関しては
runtime/syntax
ファイルタイプごとのインデントに関しては
runtime/indent
に書く。というかruntimeのディレクトリに関しては書かれているというほうが正しいか・・・
ここらへんの設定はVim/pluginの設定を上書きするを参照
検証環境:MacVim-kaoriya版7.3 gVim kaoriya版 Windows 7.3
scriptencoding utf-8 " vi互換の動きにしない set nocompatible " 起動時に確実にIMEをoffにする set iminsert=0 " 絶対に自動改行しない set formatoptions=q " 単語を途中で折らない set linebreak "左右のカーソル移動で行間移動可能にする。 set whichwrap=b,s,<,>,[,] " バッファをキーで移動 map <F2> <ESC>:bp<CR> map <F3> <ESC>:bn<CR> " ビジュアルモードでのヤンク後にカーソルを選択前の位置に戻さない vnoremap y y`> " 1行ヤンク、しかし改行はヤンクしない nnoremap yyy ^y$ " 検索を循環させない set nowrapscan " バックアップファイルを作成しない set nobackup " スワップファイルを作成しない set noswapfile " 対応括弧の瞬間強調時間 set matchtime=3 " 行番号表示 set number " 見た目で行移動 カーソルキーによる移動も考慮する nnoremap j gj nnoremap k gk vnoremap j gj vnorempa k gk inoremap <Down> <C-o>gj inoremap <Up> <C-o>gk nnoremap <Down> gj nnoremap <Up> gk " 削除でレジスタに格納しない(ビジュアルモードでの選択後は格納する) nnoremap x "_x nnoremap dd "_dd "水平タブ系の設定============================================== "デフォルト設定。結局runtime/indentの設定のほうで、ファイルごとに切り替える " タブとか改行を表示する set list " タブとか改行を示す文字列 eol(改行)は背景色違いのスペースにする。 set listchars=tab:>-,extends:<,trail:-,eol:\ "タブを空白で入力する set expandtab "標準タブは4 set tabstop=4 set softtabstop=4 " 自動的にインデントする set autoindent " 実はスマートはウザかったりする。 set nosmartindent " visulaモードで選択してからのインデント調整で調整後に選択範囲を開放しない vnoremap > >gv vnoremap < <gv "空行のインデントを勝手に消さない nnoremap o oX<C-h> nnoremap O OX<C-h> inoremap <CR> <CR>X<C-h> " 文字コード関連 " 文字コードの自動解釈の優先順位 set fileencodings=utf-8,cp932,euc-jp " 改行コードの解釈優先順位 set fileformats=unix,dos " 内部の解釈の文字コード 設定ファイルもこのコードで書け set encoding=utf-8 " 内部の改行コード set fileformat=unix " ================================================================== " クリップボード関係========================================= " ヤンクをクリップボードへ送り込む set clipboard+=unnamed " バッファ関連===================================================== "編集中でもバッファを切り替えれるようにしておく set hidden "バッファ一覧ショートカット→バッファ番号で移動 nmap gb :ls<CR>:buf " ステータスエリア関係 "ステータスのところにファイル情報表示 set statusline=%<[%n]%F%=\ %m%r%h%w%y%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}\ %l,%c\ %P "ルーラーを表示 set ruler set title " 矩形選択で行末を超えてブロックを選択できるようにする set virtualedit+=block "escでハイライトをオフ nnoremap <silent> <ESC><ESC> :noh<CR> " ノーマルモード中でもエンターキーで改行挿入でノーマルモードに戻る noremap <CR> i<CR><ESC> " 挿入モードでctrl+T二回うちで現在時刻挿入 imap <silent> <C-T><C-T> <C-R>=strftime("%H:%M:%S")<CR> " ■■■■■■■■■■■■■■■■■プラギンの設定■■■■■■■■■■■■■■■■■ " pathogenの設定================================== filetype off filetype plugin off filetype plugin indent off call pathogen#runtime_append_all_bundles() call pathogen#helptags() filetype on " uniteの設定 ====================================== let g:unite_enable_split_vertically = 1 "縦分割で開く let g:unite_winwidth = 40 "横幅40で開く " バッファ一覧 nnoremap <silent> ,ub :<C-u>Unite buffer<CR> " ネオコン ------------------------------- " 起動時に有効化 let g:neocomplcache_enable_at_startup = 1 " 1番目の候補を自動選択 let g:neocomplcache_enable_auto_select = 1 " 改行で補完確定 inoremap <expr><CR> pumvisible() ? neocomplcache#close_popup() : "<CR>" " ESCで補完キャンセルだがinsertモード継続 inoremap <expr><ESC> pumvisible() ? neocomplcache#cancel_popup() : "<ESC>"
" フォントをRictyに指定 Windows式 set guifont=Ricty:h14:cSHIFTJIS " フォントをRictyに指定 Unix " set guifont=Ricty\ 12 " Mac式 " set guifont=Ricty:h14 "色系の指定======================================= "とりあえずscheme指定でザックリ指定 colorscheme evening " マルチバイト文字系のlistcharsで表示される設定はgvimrcに書かないと反映されない set listchars=precedes:«,extends:»,eol:↲,tab:▸\ "改行をあまり目立たないように hi NonText guifg=#444444 hi SpecialKey guifg=#444444 " 開いたら全画面 windows版のみ autocmd GUIEnter * simalt ~x " 開いたら全画面 それっぽくMac版 " au GUIEnter * winpos 0 0 " set lines=160 columns=180
4タブに変更
setlocal tabstop=4 setlocal softtabstop=4 setlocal shiftwidth=4
4タブに変更
setlocal tabstop=4 setlocal softtabstop=4 setlocal shiftwidth=4
4タブに変更
setlocal tabstop=4 setlocal softtabstop=4 setlocal shiftwidth=4
aタグの中をリンクっぽくアンダースコア表示にするのを止める。aタグを中身を折った場合行頭のスペースに対してもアンダースコアが表示されるためウザイ
syntax clear htmlLink
SQL はインデントの流派によって大きく設定が違うので、改行時に自動整形しないようにする。
setlocal indentexpr= setlocal autoindent
2012年現在使用フォントがRictyになったのでこの設定は不要になった。※Rictyはフォント自体が全角スペースが見える記号になっている。
if has('syntax') syntax enable function! ActivateInvisibleIndicator() highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=#FF0000 match ZenkakuSpace / / endfunction augroup InvisibleIndicator autocmd! autocmd BufEnter * call ActivateInvisibleIndicator() augroup END endif