Vim勉強会#6

今日の朝はVim勉強会#6 に行ってました.

  • Vrapperの紹介
  • thincaさんのsvn_diff.vimを読む
  • いろいろ話す

の3点について書きます.

Vrapperの紹介

Eclipse(のエディタ部分) を Vim 的にするプラグインVrapperについて話してました.
驚いたのがひとりも(午後のEmacsの人たちも)Eclipse使ってるという方がいなかったことです.
ちょろっとデモでEclipseVim的操作しててその時に気づいたんですがVrapperは
Text Objectのdeleteはできましたけど選択はできないですね.
あと僕はinsert mode時にある程度emacs的動作C-a,e,b,f,d,hができないといやな人(いちいちinsert mode抜けるのめんどい)でこれを実現する設定を力説したのですが,insert-mode抜けなきゃVim的じゃないという方もがおられました.
大体そのあたりをスライドに書いたのでもうちょっと見直してslideshareに上げます.

thincaさんのsvn_diff.vimを読む

このあたりからtsukkee さんに丸投げしてました.(外道)
それでthincaさんのsvn_diff.vimを読んでもらってました.

svn_diff.vimについては下記を読んでください.

ここなにやってんだろ的なのとしては

  • (65行目の$put =[]) 改行入れてる.
  • (71行目) svnの改行消す?
  • (82行目) 1行目に移動

とか話してた気がします.

いろいろ話す

引き続きtsukkeeさんにいろいろ教えてもらってました.
話題にあがったのは

  • mattnさんのzencoding
  • kanaさんのsubmode, fakeclip, smartchr
  • Shougoさんのneocomplcache
  • ujihisaさん, thincaさんのquickrun
  • eregex.vim
  • 新しいtmuxのjoin

このあたりが便利,ってのを実例交えて話してました.

smartchrを簡易snippet(Data::Dumperの挿入って言ってたかな)として使っている方もいて,自分もそれやってみようかなと思いました.Perl書きませんけど.
ネオコンはオプション多くて敬遠していたのですが,実際オプションをみせてもらうと自分で理解してコントロールできる安心感があるのでこれはアリだなと思いました.
eregexはvimのわけわからん正規表現perl風にかけるようにしてくれるもんらしくvim.orgには置いてないらしいです.(ベクターにあるらしい)
またtmuxは最近になってペインの切り替えができるようになってみたいですね.知らなかったので有益でした.

大体こんな感じです.参加者のみなさんありがとうございました.
今回は15人

  • tsukkee
  • mollifier
  • peccul
  • tomoya
  • yoneda
  • sanryuu_
  • kikairoya
  • eielh
  • decobisu
  • Sixeight
  • hitode909
  • cuzic
  • _kawaguchi
  • low_temperature
  • kozo-ni

kansai-emacs

昼はkansai-emacsでした.
一番最初に発表させてもらったのですが,他の方に比べるとあまりにヌルかったので割愛させてもらいます.一応あとでslideshareに上げるつもりではあります.

他の方の発表一覧

  • r_takaishiさんのorg-modeの紹介
  • _kawaguchiさんのS式でmidi演奏
  • tomoyaさんのanythingでなんでもできる

r_takaishiさんのorg-modeの紹介

org-modeはよさそうですね.これは覚えとこうと思いました.
すませんけど詳細はr_takaishiさんのスライド見てください.
あとで上げるって言ってはったんで.

_kawaguchiさんのS式でmidi演奏

elispで単音,和音を表現し,
さらにはdrumの打ち込みは-と*で直感的に理解しやすい形で表現し,外部音源を鳴らす,ということを実現されてました.

tomoyaさんのanythingでなんでもできる

もうなんでもかんでもanythingでやってはりました.全部記憶するの無理な位.

(anything-enable-shortcuts 'alphabet)

でアルファベットで候補選択できるってことを教えてもらいました.

その他の雑多なこと

  • t-codeについて教えてもらう
  • operaユーザ多い
  • タイル型windowマネージャー(awesomeなど)の有用性
  • 半分位の人skk使ってる
  • vim.orgみたいなサイト必要だよね.emacs wiki わかりにくいし,いつelispがupdateされたかとかわかんないし

ってな感じですかね.くわしくは他の人にまかせます.
おつかれさまでした.

emacsのdiredでの移動をvimのnetrw的にする設定(その他もあり)

n,pよりj,kで上下したいあなたに捧ぐ.(その他のdired設定もお節介ながら付加, 要psvn.el)

(require 'dired-x)
(require 'wdired)
(require 'psvn)

(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)

(define-key dired-mode-map "r" 'wdired-change-to-wdired-mode)

(add-hook 'dired-mode-hook
          (function
           (lambda ()
             (local-set-key "s" 'svn-status)
             (local-set-key "-" 'dired-up-directory)
             (local-set-key "j" 'dired-next-line)
             (local-set-key "k" 'dired-previous-line)
             (local-set-key "q" 'kill-this-buffer)
             )))

biopythonでswissprotのレコードをパースする

意味無くSwissprotの
ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.dat.gz
からデータをダウンロード,解凍しパースしましょう.

from Bio import SwissProt

records = SwissProt.parse(open("uniprot_sprot.dat"))

for rec in records:
    if "subtilis" in rec.organism:
        print rec.sequence

Class Recordのメンバーはここで確認できます.
http://www.biopython.org/DIST/docs/api/Bio.SwissProt.Record-class.html
本当は目的を持ってパースしましょう.
さよなら.

梅.py 新年会 と今年の抱負

今日は 梅.py [梅田でごはん。] 新年会(?) に参加してました。
場所は天神橋5丁目の玉一という韓国焼肉屋でした。

参加者は僕と @whosaysni さん, @lab1092 さん, @kfuruhata さん[twitterアカウント]の4人でした。

どんな話をしていたかというと
- Blenderについて
- クラウドについて
- Kindleや流通について
- 商売一般について
などで別にPythonの話ができないとだめなんてことは全くない会です。

そして @whosaysni さんに 博士後期課程の今後についていろいろとアドバイスを頂きました。
今年は
- 絶対博士号を取る
- そのための最短経路を考え、行動する
- 完璧にしようと拘り過ぎない
ことを肝に銘じて研究に望もうと思います。

@whosaysniさんだけでなく、@lab1092さん、@kfuruhataさんにも感謝。(予定予算超えた上に1000円多く出してもらいました)

[追記]
次回の梅.pyごはん会を勝手に企画しました。適当なので日時場所は変わるかもしれませんがとりあえず。
http://atnd.org/events/2913