vimrc
"----------------------------------------------------------------------------------------
" 基本設定 Basics
"----------------------------------------------------------------------------------------
set nocompatible " viとの互換なし
set textwidth=0 " テキスト折り返しなし
set nobackup " バックアップなし
set autoread " 自動読み直し
set noswapfile " スワップファイルを作らない
set hidden " 編集中でも他ファイルを開けるようにする
set vb t_vb= " ビープ音を鳴らさない
set browsedir=buffer " 初期ディレクトリ
set whichwrap=b,s,h,l,<,>,[,] " カーソルを行頭、行末を超えて行えるように
set showcmd " コマンドをステータスラインに表示
set showmode " 現在のモードを表示
set modelines=0 " モードラインは無効
filetype plugin on " ファイルタイプ判定をon
"----------------------------------------------------------------------------------------
" ステータスライン StatsuLine
"----------------------------------------------------------------------------------------
set laststatus=2 " 常にステータラスラインを表示
set ruler " カーソル行列表示
"ステータスラインに文字コードと改行文字を表示する
if winwidth(0) >= 120
set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%y\ %F%=[%{GetB()}]\ %l,%c%V%8P
else
set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%y\ %f%=[%{GetB()}]\ %l,%c%V%8P
endif
"入力モード時、ステータスラインのカラーを変更
augroup InsertHook
autocmd!
autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
augroup END
function! GetB()
let c = matchstr(getline('.'), '.', col('.') - 1)
let c = iconv(c, &enc, &fenc)
return String2Hex(c)
endfunction
" help eval-examples
" The function Nr2Hex() returns the Hex string of a number.
func! Nr2Hex(nr)
let n = a:nr
let r = ""
while n
let r = '0123456789ABCDEF'[n % 16] . r
let n = n / 16
endwhile
return r
endfunc
" The function String2Hex() converts each character in a string to a two
" character Hex string.
func! String2Hex(str)
let out = ''
let ix = 0
while ix < strlen(a:str)
let out = out . Nr2Hex(char2nr(a:str[ix]))
let ix = ix + 1
endwhile
return out
endfunc
"--------------------------------------------------
" 表示 Apperace
"--------------------------------------------------
set showmatch " 括弧の対応をハイライト
set number " 行番号表示
" 全角スペースの表示
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
match ZenkakuSpace / /
"--------------------------------------------------
" インデント Indent
"--------------------------------------------------
set autoindent " 自動でインデント
set smartindent " 新しい行を開始したときに、新しい行のインデントを現在行と同じ量にする
set cindent " Cプログラムファイルの自動インデントを始める
set tabstop=2 shiftwidth=2 softtabstop=2
"--------------------------------------------------
" 補完・履歴 Complete
"--------------------------------------------------
set wildmenu " コマンド補完を強化
set wildchar=
set wildmode=list:longest " リスト表示
set history=1000 " コマンド・検索パターン履歴数
set complete+=k " 補完に辞書ファイル追加
"--------------------------------------------------
" タグ関連 Tags
"--------------------------------------------------
if has("autochdir")
set autochdir
set tags=tags;
else
set tags=./tags,/./../tags,./../../tags,./../../../tags,./../../../../tags,./../../../../../tags,
endif
"--------------------------------------------------
" 検索設定 Search
"--------------------------------------------------
set wrapscan " 最後まで検索したら先頭へ戻る
set ignorecase " 大文字小文字無視
set smartcase " 大文字は区別する
set incsearch " インクリメンタルサーチ
set hlsearch " 検索文字をハイライト
nmap
"--------------------------------------------------
" 補完・履歴 Complete
"--------------------------------------------------
" カーソルを表示行で移動する。論理行移動は
noremap h
noremap j gj
noremap k gk
noremap l
noremap
noremap
" 0, 9で行頭、行末へ
nmap 0 ^
nmap 9 $
" 実際キーボードの左端は1だし1でも行頭
nmap 1 ^
" spaceで次のbufferへ。
nmap
nmap
"--------------------------------------------------
" エンコーディング関係 Encoding
"--------------------------------------------------
set ffs=unix,dos,mac " 改行文字
set encoding=utf-8
" 文字コード関連
" from ずんWiki http://www.kawaz.jp/pukiwiki/?vim#content_1_7
" 文字コードの自動認識
if &encoding !=# 'utf-8'
set encoding=japan
set fileencoding=japan
endif
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがeucJP-msに対応しているかをチェック
if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'eucjp-ms'
let s:enc_jis = 'iso-2022-jp-3'
" iconvがJISX0213に対応しているかをチェック
elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'euc-jisx0213'
let s:enc_jis = 'iso-2022-jp-3'
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
let &fileencodings = &fileencodings .','. s:fileencodings_default
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
function! AU_ReCheck_FENC()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding=&encoding
endif
endfunction
autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
set ambiwidth=double
endif
" cvsの時は文字コードをeuc-jpに設定
autocmd FileType cvs :set fileencoding=euc-jp
" 以下のファイルの時は文字コードをutf-8に設定
autocmd FileType svn :set fileencoding=utf-8
autocmd FileType js :set fileencoding=utf-8
autocmd FileType css :set fileencoding=utf-8
autocmd FileType html :set fileencoding=utf-8
autocmd FileType xml :set fileencoding=utf-8
autocmd FileType java :set fileencoding=utf-8
autocmd FileType scala :set fileencoding=utf-8
"-------------------------------------------------------------------------------
" カラー関連 Colors
"-------------------------------------------------------------------------------
" ターミナルタイプによるカラー設定
if &term =~ "xterm-debian" || &term =~ "xterm-xfree86" || &term =~ "xterm-256color"
set t_Co=16
set t_Sf=^[[3%dm
set t_Sb=^[[4%dm
elseif &term =~ "xterm-color"
colorscheme wombat
endif
" ハイライト on
syntax enable
" 補完候補の色づけ for vim7
hi Pmenu ctermbg=white ctermfg=darkgray
hi PmenuSel ctermbg=0 ctermfg=white
hi PmenuSbar ctermbg=0 ctermfg=9
"--------------------------------------------------
" 編集関連 Edit
"--------------------------------------------------
" insertモードを抜けるとIMEオフ
" きちんと動きません:(
" set noimdisable
" set iminsert=0 imsearch=0
" set noimcmdline
" inoremap
" y9で行末までヤンク
nmap y9 y$
" y0, y1で行頭までヤンク
nmap y0 y^
nmap y1 y^
" d9で行末まで削除
nmap d9 d$
" d0, d1で行頭まで削除
nmap d0 d^
nmap d1 d^
"--------------------------------------------------
" Neocomplcacheの設定
"--------------------------------------------------
" Disable AutoComplPop.
"let g:acp_enableAtStartup = 0
" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Use camel case completion.
let g:neocomplcache_enable_camel_case_completion = 1
" Use underbar completion.
let g:neocomplcache_enable_underbar_completion = 1
" Set minimum syntax keyword length.
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
" Define dictionary.
let g:neocomplcache_dictionary_filetype_lists = {
\ 'default' : $HOME.'/dictionary',
\ 'vimshell' : $HOME.'/.vimshell_hist',
\ 'scheme' : $HOME.'/.gosh_completions'
\ }
" Define keyword.
if !exists('g:neocomplcache_keyword_patterns')
let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
" Plugin key-mappings.
imap
smap
"inoremap
"inoremap
"
" SuperTab like snippets behavior.
"imap
" Recommended key-mappings.
"
"inoremap
""
"inoremap
""
"inoremap
"inoremap
"inoremap
"inoremap
" AutoComplPop like behavior.
"let g:neocomplcache_enable_auto_select = 1
" Shell like behavior(not recommended).
"set completeopt+=longest
"let g:neocomplcache_enable_auto_select = 1
"let g:neocomplcache_disable_auto_complete = 1
"inoremap
"inoremap
" Enable omni completion.
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
" Enable heavy omni completion.
"if !exists('g:neocomplcache_omni_patterns')
" let g:neocomplcache_omni_patterns = {}
"endif
"let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
""autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
"let g:neocomplcache_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
"
ノートPCから無線でUSBを使う方法
net.USBってやつを使うと出来る
TimeCapsuleもいいけど、net.USBだと他の機器も接続出来るのがよい
航空写真家 野口克也
いいともに出ていた。
- 作者: 野口克也
- 出版社/メーカー: 三才ブックス
- 発売日: 2010/08/25
- メディア: 単行本
- 購入: 1人 クリック: 3回
- この商品を含むブログ (2件) を見る