ぼくの.vimrcをさらしてみる
とはいっても全然特別なことはやってません。
他人のvimrcを見てみたいなーと思うことがあったので、まずはオノレのソレをさらすことにします。
NeoBundleはほぼコレの通りなので割愛します。あとperltidyも割愛で。
ファイルの種類毎に、作成時にテンプレートを読み込む
こういう設定をしておくと、
autocmd BufNewFile *.pl 0r ${HOME}/.vim/.pl autocmd BufNewFile *.sh 0r ${HOME}/.vim/.sh autocmd BufNewFile *.rb 0r ${HOME}/.vim/.rb
例えば、.plなファイルを新規作成したときにこの状態から書き始められる!便利!!
satoshi@studio3104:~$ vim test.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
テンプレートはこんな感じで、設定例だと ~/.vim/に置いてあります。
satoshi@studio3104:~/.vim$ cat .pl #!/usr/bin/env perl use strict; use warnings; use Data::Dumper;
satoshi@studio3104:~/.vim$ cat .rb #!/usr/bin/env ruby
satoshi@studio3104:~/.vim$ cat .sh
#!/bin/sh
編集画面のまま書いているコード自身を実行する
vim-quickrun
【2013/02/21追記】
thinca/vim-quickrun · GitHub
@glidenoteさんに教えて頂きました。ありがとうございます!
入れてみたら便利すぎた・・・
書いたー。ツッコミお待ちしてます。 / “ぼくのvimrcをさらしてみる - studio3104::Blog” URL
@studio3104 編集中のコードを実行するならquickrun使った方がよいですね URL
F*キーにマッピング
こういう設定をしておくと、
map <F4> :w !perl<CR> map <F6> :w !ruby<CR> map <F7> :w !rspec %<CR>
コード編集中に編集画面から抜けることなく、Perlの場合だとF4キーを押すと実行して動作を確認することが出来ます。
設定例だと、F6でRuby、F7でRspecを実行するようになります。
#!/usr/bin/env perl use strict; use warnings; use Data::Dumper; print Dumper [1,2,3];
F4押下
:w !perl $VAR1 = [ 1, 2, 3 ]; 続けるにはENTERを押すかコマンドを入力してください
shebang付きのファイルに自動的に実行権限を付与する
autocmd BufWritePost * :call AddExecmod() function AddExecmod() let line = getline(1) if strpart(line, 0, 2) == "#!" call system("chmod +x ". expand("%")) endif endfunction
omni補完をTABで行えるようにする
function InsertTabWrapper() if pumvisible() return "\<c-n>" endif let col = col('.') - 1 if !col || getline('.')[col - 1] !~ '\k\|<\|/' return "\<tab>" elseif exists('&omnifunc') && &omnifunc == '' return "\<c-n>" else return "\<c-x>\<c-o>" endif endfunction inoremap <tab> <c-r>=InsertTabWrapper()<cr>
その他大勢
" シンタックスハイライトを有効にする syntax on " TAB幅をスペース二つ分にする set tabstop=2 " タブ文字を\tじゃなくスペースにする set expandtab " 自動インデントとインデント時の幅 set cindent set shiftwidth=2 " 行番号を表示する set nu " ウィンドウタイトルを編集中のファイル名にする set title " 検索時に大文字を含んでいたら大/小を区別 set smartcase " 小文字の検索で大文字も見つかるようにする set ignorecase " 検索文字を打ち込むと即検索する set incsearch " 検索結果をハイライトする set hlsearch " 見えない文字を可視化 set list