目次
1. スペルチェック
スペルチェックは便利ですが、カラースキーマによっては見えなくなることもあります
vimrcにこんな感じに設定しておくとF9キーでスペルチェックをON/OFFできます
nnoremap <F9> :call SpellToggle()<CR>
function! SpellToggle()
setlocal spell!
if exists("g:syntax_on")
syntax off
else
syntax on
endif
endfunction
2. Kコマンドによるマニュアル参照
ノーマルモードでK(Shift+k)でファイルタイプに応じたマニュアルを参照できます
使用するにはファイルタイプの検出をONにしておくと良いです
filetype plugin on
perlだとperl-doc
rubyだとruby-doc
デフォルトだとman
3. Google サジェストによる補完
こんな感じに設定しておくとCtrl-X,Ctrl-UでGoogleサジェストによる補完が効きます
mattnさんのGoogleサジェストから補完候補を作るVimスクリプト書いた。を参考にしています。
curlが入っていれば動くはず
set completefunc=GoogleComplete
function! GoogleComplete(findstart, base)
if a:findstart
let line = getline('.')
let start = col('.') - 1
while start > 0 && line[start - 1] =~ '\S'
let start -= 1
endwhile
return start
else
let ret = system('curl -s -G --data-urlencode "q='
\ . a:base . '" "http://suggestqueries.google.com/complete/search?&client=firefox&hl=ja&ie=utf8&oe=utf8"')
let res = split(substitute(ret,'\[\|\]\|"',"","g"),",")
return res
endif
endfunction
4. 英語辞書を引く
これはあまりVimに関係ないのですが、カーソル下の単語をcwordで拾い
外部サービスに投げることで辞書を引いたりすると便利です。
単語の上にカーソルを置いて:Eiwaもしくは:Eiwa searchword のように使います
perl,nkf,curlが必要です
command! -nargs=? Eiwa call Goo("ej",<f-args>)
command! -nargs=? Ruigo call Goo("thsrs",<f-args>)
command! -nargs=? Kokugo call Goo("jn",<f-args>)
command! -nargs=? Waei call Goo("je",<f-args>)
function! Goo(jisyo,...)
if has('win32') || has('gui_running')
let l:cmd = "!"
else
let l:cmd = "!clear && "
endif
if a:0 == 0
let l:search_word = expand("<cword>")
else
let l:search_word = a:1
endif
if a:jisyo == "ej"
let l:search_tag = " | perl -nle 'print if /alllist/i../<\\/dl>/ or /prog_meaning/'"
elseif a:jisyo == "je"
let l:search_tag = " | perl -nle 'print if /alllist/i../<\\/dl>/ or /prog_meaning|prog_example/'"
elseif a:jisyo == "jn"
let l:search_tag = " | perl -nle 'print if /alllist/i../<\\/dl>/ or /meaning/'"
elseif a:jisyo == "thsrs"
let l:search_tag = " | perl -nle 'print if /--wordDefinition/i../--\\/wordDefinition/i'"
endif
execute l:cmd . "curl -s -L " .
\ "http://dictionary.goo.ne.jp/srch/" . a:jisyo . "/" .
\ "$(echo " . l:search_word . " | nkf -wMQ | tr = \\%)" .
\ "/m1u/ " .
\ l:search_tag .
\ " | perl -ple 's/<.+?>//g'"
\ " | head -50"
endfunction
5. スニペット
プログラムの文法を思い出すのにはスニペットが便利です。
お勧めは以下のプラグインです
NeoBundle 'Shougo/neosnippet'
NeoBundle 'Shougo/neosnippet-snippets'
NeoBundle 'Shougo/unite.vim'
let g:unite_enable_start_insert=1
let g:unite_source_file_mru_limit = 200