vimでpep8を実行
最近python書く機会が多くなったので、自動でやってほしいよねと。
探したらこれが見つかった
https://github.com/nvie/vim-pep8
感謝しながらダウンロードしてきて.vimに展開
vundleの人は
" .vimrc Bundle 'git://github.com/nvie/vim-pep8.git' " :BundleInstall 実行
保存したときに実行するように設定
autocmd FileType python call s:python_settings() function! s:python_settings() autocmd BufWritePost <buffer> call Pep8() endfunction
quickfixに結果が出力されます
mercurialのstyleを使用してlog出力をカスタマイズする
mercurialのdefaultのlog出力はあまりみやすくない.
styleオプションを使って出力形式を変えてみる.
mercurialのstyle
mercurialは標準でdefault changelog compactの3種類のstyleを積んでいる.
$ hg log --style default changeset: 1:1fc5a09d576e branch: test tag: tip user: yuito date: Fri Jun 10 11:05:15 2011 +0900 summary: edit sample.txt changeset: 0:4bfc25d77dab user: yuito date: Fri Jun 10 11:04:23 2011 +0900 summary: add files $ hg log --style changelog 2011-06-10 yuito * sample.txt: edit sample.txt [1fc5a09d576e] [tip] <test> * sample.txt, sample2.txt: add files [4bfc25d77dab] $ hg log --style compact 1[tip] 1fc5a09d576e 2011-06-10 11:05 +0900 yuito edit sample.txt 0 4bfc25d77dab 2011-06-10 11:04 +0900 yuito add files
styleの自作
どれもあまりしっくりこないので、自分なりに作ってみた.
出力の形式は3種類書ける
- changeset
- changeset_quiet
- changeset_verbose
changeset_quiet は --quietオプションを付けた場合のテンプレート
changeset_verboseは --verboseオプションを付けた場合のテンプレート
# こんな感じ changeset = '{rev}{branches} ({date|age} by {author|person}){bookmarks}{tags}{desc|firstline|strip}\n'
波括弧("{" と "}")で囲まれたところがテンプレートキーワードになる.
テンプレートキーワードについてはChapter 11. Customizing the output of Mercurialを参考にしました.
テンプレートキーワードはカスタマイズできる.
たとえばタグの出力を変える場合は
start_tags = ' ' tag = '{tag}, ' last_tag = '{tag}' end_tags = ' '
とすることができる.
start_でキーワードの先頭を指定できる
end_でキーワードの末尾を指定できる
last_でキーワードの項目が複数あった場合の最後のキーの出力を指定できる
start_などの後ろはテンプレートキーの複数形を指定する.
changeset = '{rev}{branches} ({date|age} by {author|person}){bookmarks}{tags}\n {desc|firstline|strip}\n' start_branches = ' ' branch = '{branch}' start_tags = ' ' tag = '{tag}, ' last_tag = '{tag}'
上のをmap-cmdline.logとして保存して
$ hg log --style /path/to/map-cmdline.log 1 test (6 hours ago by yuito) tip edit sample.txt 0 (6 hours ago by yuito) add files
かなりスタイリッシュになった.
色とかつけたら最終的にこうなった.
changeset = '\033[0;33m{rev}\033[0m{branches} \033[1;30m({date|age} by {author|person}){bookmarks}\033[0m{tags}\033[0m\n {desc|firstline|strip}\n' changeset_quiet = '\033[0;33m{rev}\033[0m \033[1;30m{author|person}\033[0m {desc|firstline|strip}\n' changeset_verbose = 'changeset: \033[0;33m{rev}\033[0m:\033[0;33m{node|short}\033[0m{branches}{bookmarks}{tags}\nauthor: {author}\ndate: {date|rfc822date} ({date|age})\nsummary: {desc|firstline|strip}\n\n{file_mods}{file_adds}{file_dels}\n\n' start_file_adds = '' file_add = '\033[0;32mA {file_add}\033[0m\n' end_file_adds = '' start_file_dels = '' file_del = '\033[0;31mR {file_del}\033[0m\n' end_file_dels = '' start_file_mods = '' file_mod = '\033[0;36mM {file_mod}\033[0m\n' end_file_mods = '' start_branches = ' ' branch = '\033[0;35m{branch}\033[0m' start_bookmarks = ' ' bookmark = '\033[0;32m[{bookmark}]\033[0m ' last_bookmark = '\033[0;32m[{bookmark}]\033[0m' start_tags = ' ' tag = '\033[0;33m{tag}\033[0m, ' last_tag = '\033[0;33m{tag}\033[0m'
hgrcにshellコマンドを記述する
!から始めればいい
clean = !$HG status --no-status --unknown -0 | xargs -0 rm
neocomplcacheをインストールしてみた
作者の方がneocomplcache.vimはそれなりに複雑なプラギンだしインストールしても
たいへんだよってなことを言っていた。
けどすごい便利なので使えないのももったいない気がする。
とりあえずインストールまでを説明してみようと思った。
インストール
http://github.com/Shougo/neocomplcache/downloads
から最新をダウンロードする。(現状最新はver.5.1)
zip or tarを解凍するとこんな感じの構成になっている。
それぞれのフォルダが何なのか知りたい人はここ http://vim-users.jp/2009/06/hack34/
autoload doc indent plugin presen syntaxというフォルダがあると思います。
このフォルダをvimのフォルダにコピーします。
ただし、presenはいりません。
OSX, linux系をお使いの方は~/.vimに移動します。
windowsをお使いの方は vimのインストールフォルダ/runtime/に移動します。
[OSX]
[windows]
移動したらダウンロードしてきたneocomplcacheの中身をコピーします。
これでインストール完了です。
neocomplcacheを動かしてみましょう
本来は:helpとか:helptagsとか使うのですが、わからない人もいると思うので直接いっちゃいます。
先ほどneocomplcacheをインストールしたフォルダ(.vim とか runtime とか)に移動します。
docというフォルダがあると思うのでさらにその中に移動します。
neocomplcache.txtというファイルがあるので開きます。
620行目あたりになんとサンプルの設定が書いてあるではないですか!
サンプルをコピーします。
vimrcファイルに貼り付けます。
貼り付け時に勝手にインデントとかうぜぇ〜〜〜ってひとは:set pasteしてください。
保存していったんvimを終了します。
vimを機動します。
なんとneocomplcacheが動きます。
ご丁寧にmapまで書いていただいております。
tabで補完できるぜ!いぇいw
各設定が何をやってるかわからないとか、こんな設定ないの?とか思った方は
先ほどのdocフォルダにあるneocomplcache.jaxファイルを開いてみましょう。
詳しい説明が日本語で書かれています。まず読んでみましょう。
たのしい補完ライフを送ってください!
vimで縦にlineを引く
vim7.3にして
set colorcolumn=80
次は色を変えたい!
hi ColorColumn guibg=#444444
快適
andlinux入れたときのメモ
2度もはまってしまった。
svn: warning: cannot set LC_CTYPE locale svn: warning: environment variable LC_CTYPE is ja_JP.UTF-8 svn: warning: please check that your locale name is correct
とか言われたら
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - sudo wget https://www.ubuntulinux.jp/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo aptitude update sudo aptitude upgrade sudo aptitude install ubuntu-desktop-ja
ってしてlocale追加すること。
MacVimを広く使いたいので邪魔なモノを消す設定など
"透明度を指定 set transparency=20 "ツールバーなし set guioptions-=T "メニューバーなし set guioptions-=m "右スクロールバーなし set guioptions-=r set guioptions-=R "左スクロールバーなし set guioptions-=l set guioptions-= "下スクロールバーなし set guioptions-=b