ラベル Vim の投稿を表示しています。 すべての投稿を表示
ラベル Vim の投稿を表示しています。 すべての投稿を表示

2012年11月3日土曜日

#ujihisa.vim #3に参加しました。

イベント詳細
ujihisa.vim#3


感想など
ふと思い立って、行って来ましたujihisa.vim。
敢えて一言で感想を言わせてもらうなら、「Vimmer怖い……」
発表がぶっとんでる…… これが上級Vimmerが集まりかと思いました。
(特にマクロの話とかマクロの話とか)
カーソル移動の話は非常に参考になったので、どのように操作したら
効率がいいのか見直したいです。
以下はBlogと言う名のメモ書きになります。


オープニング
  • mixiの方から挨拶
  • 飲食はペットボトルのもののみOK

発表(@kaoriya)
  • 資料: vim-jpの活動報告
  • 村岡太郎 @kaoriya
  • vim-jpってなんだっけ?
    バグの修正、新機能の提案、啓蒙活動
  • vimこわい
  • mvp二人が大体日本人が出すパッチの8割を書いてる。
  • vimdoc-ja, autofmt
    Vim documentation: help
  • cpp.vim →vim-jpによって管理されることになった。
  • vimrc読書会 http://vim-jp.org/reading-vimrc/
  • 月刊vimマガジン http://vim-jp.org/vimmagazine/2012/10/31/vimmagazine.html
  • vim-jpの本質
  • vimの未来
    • 単一のメンテナの限界
    • グループによる分割統治
      vim-jpがやっていることが先駆けになる


発表(@basyura)
  • 資料: ujihisa.vim #3 で発表した TweetVim 1.8 Release!! - basyura’s blog
  • The whirlwind evolution of TweetVim
  • ずっとjava1.4, C#, Silverlight, Ruby好きです。
  • TweetVimご存知のかた→ほぼ全員か。
  • TweetVim 24人ぐらい呟いてた→多いと思う。
  • Advent Calender 30日目で公開しました。
  • TweetVim1.8
    • now!今プッシュしたいと思います。リリースされました。
    • 末尾が...で省略される問題を解決 rhysd ++
    • 検索時の日付表示
  • TweetVim1.9
    • 非同期にタイムライン更新とか
    • できならいいなと


発表(@thinca)
  • 資料: thinca gist: 4006236 — Gist
  • vital.vim
  • プラグイン開発者向け
    quickrun.vim, neocomplcache, uniteなど他のものでも使われている。
  • ライブラリ欲しい。
  • 通常のライブラリの欠点
    • ユーザに別途入れて貰う必要がある。
    • そこでvital.vimですよ。
  • vital.vimとは
    • vim scriptのライブラリ郡
    • モジュール単位で管理されている。
  • モジュールを充実させたい。全然足りない。help。
  • テスト機能見直ししたい。一応あるが、結構適当。
  • 外部モジュールも読めるうようにする!
  • vital 開発参加者待ってます!

発表(@ujm)
  • HDMI出力のためプロジェクターに投影できない。→なんとか解決。
  • ujihisa
  • マイクラフトを知らない人は調べたり、やってみたりしないこと。
    ゲームで〜クラフトとかあるのはやったら駄目です。
  • ujihisa.vimのためにカナダから日本に来ました。
  • showtime.vimを使うつもりだったが、できない。
  • neosnippet.vimの紹介します。作ったのは@ShogoMatsuさんです。
  • neocomplcacheを使って、snippetの一覧を出してくれる。
  • unitesnippletだと更に簡単にsnippetの一覧を出してくれる。
  • C言語のHello, World!デモ
  • snippet Setup
    • install
    • map expand key
    • map jump key


発表(toku)
  • 資料: vim-jp/ujihisa.vim-3 · GitHub
  • 匿名希望さん
  • マクロ漁船に乗ろう。
  • マクロを使ってお手軽プログラミング
    どれくらい使っている?→ほとんど使っていない。
  • "[a-z]
  • 正規表現で小文字を大文字に変換することはできない→子、孫を使って実現!
  • マクロ漁船に乗る準備はいいか!→よくない!

発表(@rbtnn)
  • 資料: About regex ujihisa.vim #3
  • vimrc800行
  • set numberをしてない。rulerに行数表示。
  • vimpluginは30個ほど。
  • 自分のプラグイン Hexript について
    バイナリを書くプラグイン。quickrun対応。vinariseで見れる。
  • バイナリを書く上で、欲しい構文を募集中。
  • Twitterなどでリプライとかくれれば……
  • vital.vimに字句解析入れたいなと。

発表(@deris0126)
  • 資料: ujihisa.vim#3で発表してきた - derisの日記
  • vim歴2年半。
  • カーソル移動について。
  • 効率的に移動するには?横、縦移動。
  • 横移動
    • ステップ1: ^S
      行末から近ければ。
    • ステップ2: f(F) 行内で1つだけの文字を探す。
      記号>数字>大文字>小文字
    • ステップ3: w b h l
      数単語以内…w b, 同単語or数文字内…hlとf(F)
    • ステップ1〜3のそれぞれを一瞬で判断できるように鍛錬が必要。
    • あとは慣れと好み。
  • 縦移動
    • 移動箇所が明確の時
      • gg G
      • 目的の単語を知っている。 *で検索(プラグイン)、その後/で検索
      • どう画面内にある。{ } 5j 5k j kでアプローチ。後は横移動
    • 眺めたいだけの時
      • ざっくり Ctrl+F, Ctrl+B
      • 細かく Ctrl+D, Ctrl+U
  • おまけ: kjhl連打、おしっぱ
  • カーソル移動系Plugin
    vim-smartword, vim-visualstar, vim-easymotion, columnpjump, vim-submode, ……

発表(@ShogoMatsu)
  • 資料: neobundle.vimについて+おまけ
  • Vim人 Tシャツ
  • neobundle.vim プログラマーたちよこれがテキストエディタだ。
  • VundleとneobudleはCとC++ぐらい違うよ。
  • NeoBundleLazyを使うとプラグインの遅延読み込みができる。

2012年3月11日日曜日

MacとWindowsでvimのdotfiles管理してみた。

去る3/3、TokyoVim#4に行って参りました。
参加登録の〆切は過ぎていたのですが、
主催の@kana1さんに直接連絡することで何とか参加!
いや〜きいてみるものですね。

当日の様子は@usaturnさんがまとめてくれています。

TokyoVim#4 - Yukarin'Note


自分が当日やったこととしては以下の3つです。
NeoBundle.vimを用いてdotfilesの整理
・VMに入れているWindows7にNeoBundle.vim導入
・バイナリエディタとしてのVimの使い方調べ

dotfilesについては以下のURLが詳しいです。
gitが入っていれば2〜3分でいつも使ってる自分の環境が構築出来ます。
ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで- - 馬鹿と天才は紙一重
少し引用させてもらうと、

dotfilesはhomeディレクトリにある各種プログラムの設定ファイルです。
.vimrcとか.screenrcとか、ああいうやつです。
これらがgithubにあると同じ設定ファイルを
例えば会社と自宅のような別環境で使うことができ、
どちらかで設定をしなおすという面倒なこともなくなり便利です。

以前は下記リンクを参考にvundleでやってみましたが、
neobundle.vimでまたやり直してみました。
今回移行しようと思った最大の理由は、
Pluginを入れるたびに出てくるDOS窓が煩わしかったから。
そろそろしっかりvimを使う。dotfilesのgithub管理とvundleの導入。 - holyppの日記
そろそろしっかりvimを使う。github+vundleを利用したWindowsとの同期。 - holyppの日記

vimprocという非同期処理を行う
Pluginを動かすのに少し手こずりましたが、
MBAに入れるときは
30秒で MacVim に VimShell を入れる最速の方法 | ウェブル
を参考に_vimrcに
let g:vimproc_dll_path = $VIMRUNTIME . '/autoload/proc.so'
と記述することであっさり動きました。
WindowsでもWindows7 GVim にVimShellをインストールする | karakaram-blog
を参考に解決することができました。
proc.dllをproc.soにリネームして.vim/autoload/にコピーすることで完了。

Vim上で、
:Unite neobundle/install:!
と打つとDOS窓がでることなく次々にUpdateが実行されていきます!

これでMacだろうがWindowsだろうが
問題なく自分のVimが使えるようになりました。
参加者のみなさんお疲れ様でした!

2011年12月30日金曜日

Vimテクニックバイブルを読んでVimにプラグイン追加してみた part3

part1, 2に続いてpart3です。しばらく間が空きましたね。
まあ気にせず行きましょう。

今までquickrun.vimneocomplcacheだけで過ごしてきたものの、
気になるプラグインがでてきたので
まずは簡単そうなものから入れてみました。
今回入れたのは以下の2つ
- Vundle
- simplenote.vim

気になるプラグインを入れる際に、
管理は簡単な方がいいだろうとまずはVundleを導入。

Vundle
Vundleはvimがどのディレクトリから設定ファイル、プラグインファイル
を読み込むのかを決定している「runtimepath」オプションを操作する
だけなく、インストールや更新なども行うことができます。

導入の際はgitが必須です。以下のようにインストールします。
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
次に_vimrcに以下のような記述をしました。
"Vundle設定
filetype off

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

"Bundle 'gmarik/vundle'     "必須
"githubにあるプラグイン
Bundle 'thinca/vim-quickrun'
Bundle 'Shougo/neocomplcache'
Bundle 'mrtazz/simplenote.vim'

filetype plugin indent on
後はVimを立ち上げて、
:BundleInstall

と叩けばインストール開始です。
インストールが完了すると以下のようになります。


simplenote.vim
SimplenoteはEvernoteのスキマを埋める簡単メモツールです。
(Vimテクニックバイブルには書いてありません)
simplenote.vimはvimからそのSimplenoteを扱おうという代物。
普段から書き慣れているエディタでメモを取りたいと思っていた自分には最適でしたね。
若干重いようですが許容範囲内かと思っています。

インストールは先程のVundleの設定に記しているので割愛します。
_vimrcに以下の設定を書きこむことでログインの手間を減らせます。
let g:SimplenoteUsername = "Enter your username"
let g:SimplenotePassword = "Enter your password"

最低限以下の3つのコマンドを覚えておけばOK
:Simplenote -l "Simplenoteにあるデータの一覧
:Simplenote -u "Simplenoteのデータを更新する
:Simplenote -n "新しいデータを作成する

その他・・・
他にもvimshell, unite.vim, surround.vimに興味があります。
会社でWindowsでもシェル使いこなしたいな
→自分Vim使っている
→vimshell使ったほうがいいのかな
という安直な気持ちですが(笑)

unite.vimは何が何だか分からないから知りたい。
surround.vimはテキストオブジェクトの操作を身につけたいからです。
まあPythonだけ弄っていくならそれほど意識する必要がないのかもしれませんが……

2011年11月9日水曜日

エキスパートPythonプログラミング読書会 第二期 01に参加してきました

やっとBlogが書ける!
エキスパートPythonプログラミング読書会 第二期 01 : ATND
に参加してきました。
(結構な大作になってしまったので読む方は注意お願いします)

エキスパートPythonプログラミング
Tarek Ziade
アスキー・メディアワークス
売り上げランキング: 12563

進め方は清水川せんせにお任せで、
分からないや聞きたいことがあったら随時突っ込むという形式でした。
前回もこんな感じだったらしいですね。

ちらほらスーツの方もいらっしゃいました。
仕事帰りですかね。
かく言う自分も仕事終えてから直行したのでスーツでした。
勉強会にスーツで参加するのは初めてでしたね~。
なんか新鮮でした。

しかし、相変わらずMac率の高いこと!
8割9割がMacでしたね。
Windows率とLinux率がほとんど差がないとか逆でしょう。

自分が今回のテーマで気になっていたのが、
(1)Vim
(2)ipython
(3)Pythonの複数バージョン管理
だったので、そこいらへんを中心に書いていこうと思います。

■(1)Vim
Vimを使っているひとが30人中26人、Emacs2人という…(TL調べ)
「フフフフフッ、圧倒的じゃないか。我が軍は…(By なんとか)」
秀丸使ってますって人もいなかったですね。
IDLE使っているという人もいませんでした。
最近だとPyCharmとかいろいろ充実してきたみたいですが、
きっとVim率の高さに圧倒されて
手を挙げられなかったのだと思います。
TLでちらほら別のエディタ、
IDEを使っているという人がいたみたいなので。

■(2)ipython
会場内で知らない人は3割くらいでした。
自分の認識では
・タブ補完ができる
・デバッガが便利
ぐらいの認識で、あえて使う必要あるのかなと思ってました。

どのくらい便利なのかな?と思ってましたが、
清水川せんせは
「普段はipython使いませんけどね。」
とのこと。
人が作ったモジュールを確かめる時にはよく使われているらしいです。

「なんで普段からipython使わないんですか」と質問してみると、
便利なんだろうなとは思うが、
readlineで補完はできるし、
起動にちょっと時間がかかるし、
…いろいろ覚えるのが面倒だっただけ。便利だとは思うけど。
とのことでした。

■(3)Pythonの複数バージョン管理
「複数のバージョンのPython使うのにどうしてる」という話題で、
MacPort、pythonbrew、Homebrewなどの話もでてきました。

今回印象に残っているのは今回は話しませんって言っているのに
ちょいちょい話すことになってしまったvirtualenvですね。

結局
「virtualenvでpythonのバージョン指定して入れている」
という結論しかでてこなかったのには苦笑いしてました。

virtualenv --no-site-package --python=python2.5 myenv
とか指定してあげればバージョン指定してインストールできるので、
最初にそこで解決してあげるのが賢いということですね。

ただし自分のPCに入っていないバージョンを指定しても、
「The executable python2.4(from --python=python2.4) does not exist」
とか怒られるので、
予め自分の使いたいバージョンのPythonを入れておく必要はあります。
Lionだと最初から2.5,2.6,2.7が入っているみたいなので、
そんなに心配する必要はないと思いますが。

「Python2.5,2.6,2.7だとvirtualenv使わなくても大丈夫では?」
という意見もありましたが、
「無理ですね。なんのバージョンを使っているのとか意識したくない」(清水川)
だそうです。

他にもeasy_installとpipの違いにも興味を惹かれましたが、
これは
distutils, setuptools, distribute, pip, virtualenv, buildout 再掲 — 清水川 Docs v1.0 documentation
に詳しいのであえて書きません。
自分はまだ深いところまで入り込めていないので、
しばらくはpipで行こうと思いました。

■感想
やっぱり行けてよかった。
内容が濃いので次回もまた参加する予定です。

今回お話できた方々、
出来なかった方々、
会場準備に携わっていただいた方々、
みなさんありがとうございました!

おそらくまたスーツで参加してますが、
声をかけてもらえると喜びますのでよろしくお願いします。

■関連リンク
エキスパートPython読書会 第2期 #1
2011/11/08 エキスパートPythonプログラミング読書会2nd #1 - a set on Flickr
エキスパートPythonプログラミング読書会( #expertpython )第二期の第一回目に参加してきました - プログラマ行進曲 (id:kutakutatriangle / @takuan_osho)
Pythonの環境構築の自分なりのまとめ+エキスパートPythonプログラミング読書会 第二期 01に行ってきました。 - kanonjiの日記 (id:kanonji)
エキPy読書会(第2期) 第1回に行ってきました - 今川館

2011年11月7日月曜日

エキスパートPython 読書会参加します!


エキスパートPythonプログラミング読書会 第二期 01 : ATND 

今朝になって1人、2人とキャンセルがでて、
「おおっ。これは本当に明日いけるかもしれない!」
と思って昼休みにiPhoneで確認したら、
@tfmagicianさんからリマインド入ってました。

「いける!」
ってなことで早速明日に向けて1,2章の予習してます。
基本的なことは知っていても
Vimとipythonの連携とか、
ジェネレータの詳しい使い方とか、
知らないことたくさんだからな〜

Vimmerの場合、
ipython使うのとneocomplcache使うのどう違うんだろう。
補完だけなら、
別にipythonにこだわる必要がないのではないかと思ってしまう。
自分がぱっと思いつくのはデバッカのあるなし程度なのだけど、
ここら辺どうなのだろうか。
virtualenv使うとipythonとの連携が面倒みたいな話もあるし。
ただ、回避方法もあるみたい→
ipython と virtualenv を同時に使う方法 - Ian Lewis


「ipython便利」という話はよく聞くので、
是非とも知りたいところです。


明日は絶対定時で上がる。
朝の時点で上司に宣誓しておこう。
初のスーツでの勉強会だ……

2011年11月6日日曜日

ターミナルからMacVimが起動するようにしてみた

どうやるのだろうと思いつつ面倒くさがって、
手をつけてなかった部分だったのですが
いい加減やってみようと思い実行してみました。

KaoriYaさんのサイト起動用のスクリプトがおいてあったので、
まずそれをmvimというファイル名にして保存しました。

自分はこちらを参考にして/opt/local/bin/にスクリプトを配置し、
実行権を与えるためにターミナルに以下のコマンドを打ちました。
sudo chmod 755 /opt/local/bin/mvim

参考にしたBlogではu+xとされてましたが、
それだと毎回sudoを付けないと起動できなかったので755としました。

これでターミナル上で"mvim"と打つとMacVimが実行されます。
これでターミナルとの行き来が楽になるとほっと一安心です。

2011年10月31日月曜日

Vimテクニックバイブルを読んでVimにプラグイン追加してみた part2

前回quickrun.vimについて書いたので、
触れなかったneocomplcacheについて書きたいと思う。

そもそもVimにはデフォルトで補完機能があるらしいのだが、
EclipseやVisualStudioなどのIDEみたいに
自動で候補が出てくるわけはないようだ。
明示的に補完キーを押さないといけないので若干煩わしい。

そこでneocomplcacheを入れると、
自分で補完のためにキーを押さなくても良くなる。
詳しい説明はこちら
プログラムを組んでいて名前を間違えてしまい、
プログラムが動かないみたいなことはありがちなので非常に助かる。

さてneocomplecacheはデフォルトでは無効になっているため、
最初に_vimrcに下記の設定を加える。
"neocomplecacheを有効化
let g:neocomplcache_enable_at_startup = 1

すると細かい設定をしなくても下記のように、
すぐに使い始めることができる。

候補はCtrl+Nで次のリスト、Ctrl+Pで前のリストに移動できる。
矢印キーでもできなくはないけど、こっちのほうが速いと思う。


標準のVimだとC,C++,Python,XMLが用意されているが、
neocomplcacheはVimScript,Perl,Ruby,D,Lispなどにも対応してるので、
捗ること間違い無いと思う。


p.s.
Ctrl+Uでも次のリストに移動できるようだが、
Ctrl+Nとの違いが分からなかった。
Google先生で調べても見つけられなかったので、
誰か知ってたら教えてくれると嬉しいです。

2011年10月27日木曜日

Vimテクニックバイブルを読んでVimにプラグイン追加してみた

まだ試行錯誤中なので一部のみ抜粋。
_vimrcと_gvimrcは逐一変わってるのでまた今度にしようと思う。

今回はVimのプラグインをインストールしてみた。
インストールしたのは以下の2つ
quickrun.vim(Vim上でプログラム実行)
neocomplcache(補完)

今回はその中でもquickrun.vimについて書きます。
Vimテクニックバイブル持ってない方は、こちらとかを参考にどうぞ。

以前のPython Developers festa2011.10では
下記の設定を_vimrcに追加して実行結果を確かめてた。
点線で囲っているところを追加すれば、
<Ctrl+P>でPythonの実行結果をすぐに検証できた。
" python実行
function! s:Exec()
    exe "!" . &ft . " %"
:endfunction
command! Exec call <SID>Exec()
map <silent> <C-P> :call <SID>Exec()<CR>

しかしPython以外のプログラム書く時に
逐一_vimrcを変更したり、外部プログラムを呼び出すのは大変。
ということでquickrun.vimに目をつけた。
これは<\+r>で実行結果を確かめることができる。

実行結果を確かめる時
Vimを縦分割か、横分割するのを変更できるらしいと聞いて、
以下の設定を、_vimrcに追加した。
" 横分割をするようにする
let g:quickrun_config={'*': {'split': ''}}

" 横分割時は下へ新しいウィンドウが開くようにする
set splitbelow

実行した結果はこんな感じ。

まだPython以外では試してないけど、
他の言語も何種類も対応しているから捗ることは間違いなさそう。

2011年10月24日月曜日

エキPy通し見done

エキスパートPythonプログラミング
Tarek Ziade
アスキー・メディアワークス
売り上げランキング: 36822

来るべき時に備えてまずはざっと通し見。
さすがに読み応えたっぷりの本だ。

しかし1年前大学生だった時は
「何のことかさっぱり…」
だったところが、

「これはどうゆうことなんだろう」
「ここはこうなっていたのか」
「ここはもっとこうしたい」
みたいなことがちょくちょく湧いてきて、
自分もちょっとは成長してるのかなと思うようになってきた。

そういえばエキPyはVim押しでしたね。
Vim使えるようになっててよかった自分!

読んだと言ってもざっと見して深いところまでは全然読みきれてないので、
今週いっぱいはこの本を精読して行きたい。


2011年9月30日金曜日

「Vimテクニックバイブル」ポチった

それなりに違和感なく使えるようになってきたのだけど、
もう一段階レベルアップしたいと思いポチってしまった。

基本的な操作法を身につけるだけでなく、
プラグインを入れて〜とか試してみたいね!
Vimに変えてから環境に悩むことがなくなったので、
本当に正解だったと思ってる。

Vimテクニックバイブル ~作業効率をカイゼンする150の技
Vimサポーターズ
技術評論社
売り上げランキング: 304

話はかわり……
リンクはAmazonだけど実際は楽天ブックスで買ったから
届くまでがゆっくりに感じる。
けれど今週はマスタリングTCP/IPを読まないといけなかったから
ちょうどいい待ち時間だったかな。

最近楽天での買い物はほぼ本に限定されてる。
以前は2000円以上本を買うと7倍のポイントとか余裕でついてたのに、
 最近は5倍がせいぜいな気がして少し考えものだ。。。