2010-01-01から1年間の記事一覧

textobj-between 書いた

vim

極稀に、任意の文字で囲まれた範囲を選択したり削除したりしたいことが本当にたまーにあったので書いてみた。名前が適切かどうかは知らん。 Operator-pending mode の時に、デフォルトでは if{char} か af{char} で指定した文字で囲まれた範囲を対象にできる…

Dropbox on Linux without X

Dropbox を X なしの Linux で動かすのにようやく成功したので、忘れないうちにメモしておく。 Dropbox の公式 CLI クライアントを入手する $ wget https://www.dropbox.com/download?dl=packages/dropbox.py $ chmod a+x dropbox.py $ mv dropbox.py ~/bin/…

try-catch の弊害

vim

Vim スクリプトでは try-catch が使えて非常に便利。 try echo 'start' throw 'error!' echo 'end' catch /error!/ echomsg 'error occurred.' endtry start error occurred.この try-catch、一般的な Vim のエラーが発生した場合も catch してくれる。 unle…

neocomplcache ver.4 から ver.5 へ移行する

vim

現在、neocomplcache は ver.5 が絶賛開発中の模様。http://github.com/Shougo/neocomplcache/tree/ver.5そして今回の改変には痛みが伴う模様。 neocomplcache Ver.5にて、変数名が劇的に変更されました。覚悟してください。 #neocomplcache URL2010-05-31 2…

ファイル群を特定のパターンでコピーしたい

どういうことかと言うと、まずグロブパターンにマッチするファイル群があってその各々のファイルを特定のルールで別の場所にコピーしたい。例えば、 A_foo.txt B_bar.txt C_buz.txtってファイルがあって、これを other/A/foo.txt other/B/bar.txt other/C/bu…

分かりやすいKey-mappingsの弊害

vim

http://vim-users.jp/2009/08/hack-59/ http://vim-users.jp/2010/05/hack-144/ 上記の記事で紹介されている「分かりやすいKey-mappings」だけど、実はちょっとした罠が潜んでいる。 問題 例えば prefix に <Space> を使ったとしよう。 nnoremap <Space> [Space] nmap [Spa</space></space>…

続・NYAOS 3000 で bat ファイルとかを拡張子なしで実行する

id:zetamatta さんがfilter2を速攻で実装してくれた。id:zetamatta++で、前回のコードに微妙にバグがあったのとNYAOS 3000更新に伴い書き直してみた。まず、前回の奴は無駄に suffix の拡張子まで展開していたんだけど、この展開は alias や suffix 自体の展…

NYAOS 3000 で bat ファイルとかを拡張子なしで実行する

NYAOS 3000 は bat ファイルを実行するのに拡張子が省略できない。なので scala.bat とか git.cmd とか ant.bat とか rake.bat とか非常にめんどい。中には bzr みたいに Windows インストーラで入れると bzr.exe なのに Python base のインストーラで入れる…

Ruby 1.9 用の rubygems が入らない

Gentoo で Ruby 1.9 を入れるに当たって、Ruby 自体は hardmask 外すことで簡単に入って最近まで普通に使ってたんだけど、最近になって dev-ruby/rubygems の ruby19 が何故か入らず gem19 がないため Ruby 1.9 が動かなくなったという現象と戦った際の記録…

Tokyo.clj #2 に行ってきた

Clojure Hackathon です!最初はキャンセル待ちで行けるかわからなかったんだけど前日に見たら空いてた!当日は定員15名のところ12名参加だった!世の中そんなもん!で、私は何をしていたかと言うと、プログラミングClojureをまだ読了していなかったのでREPL…

:help! の真実

vim

Vim で :help! と実行すると、 E478: Don't panic! だとか E478: 慌てないでください だとか言われる。これは割と有名なイースターエッグだと思われるが、では果たして :help! の効果はそれだけだろうか。 実は、ちゃんと機能が割り当てられている。 :h[elp]…

Vim Loves Perl - Perl Casual#2 内のコードの添削をしてみた

vim

Perl Casual #02でVimについてお話しさせて頂きました - iDeaList::Writing にあった Vim の紹介スライド、その中にあった Vim スクリプトを誠に勝手ながら添削してみました。スライドは以下。 http://www.slideshare.net/acotie/perl-casual2 "TT用 syntax …

ref.vim の内部構造を大幅に書き換えた

vim

ref.vim の内部構造が全然別物になった。とは言ったものの、使う側からするとあまり変化はない。 普通の人は内部構造なんて興味ないと思うので、先にそれ以外で変更した部分を挙げておく。 外見的な変更点 ref#jump() 前からあったんだけど、ドキュメントに…

sugamo.vim に行ってきた

Vim の勉強会ということで、お邪魔してきた。今回は特に発表があるわけではなくみんなで集まって作業したり普段のVimの使い方について話したり疑問点をその場で聞いてみたりな感じで、こういうゆるい感じは私は結構好き。 序盤 @sigwyg さんが初心者向けの解…

Vim 使いの熟練度と生産性の相関関係について

Vim 初心者 Vim の使い方がまだよくわかっていない。慣れないツールを使うことにより生産性は落ちる。 Vim 中級者 普段困らない程度に Vim を使いこなせる。生産性は向上する。 Vim 上級者 大抵のことをVimの中で行える。生産性は激しく向上する。 Vim 中毒…

第7回GamePM勉強会に参加してきた

今回は人の集まりがよく満員御礼ということで。素晴らしいことです。 以下、記憶の断片を頼りに書くので間違ってたらすいません。 3DCG映像製作の現場の声とマネージメントの声 - id:yuki_mr 3DCG の作成の仕事の流れとかが知れて面白かったです。 前の工程…

Re: reStructuredText のヘッダを書く

ちょっと前の記事だけどこんなの見つけた。reStructuredText のヘッダを書く - methaneのブログふむふむなるほど。 ただ試しに使ってみたら cp932 に変換できないみたいなエラーが出て、この程度なら Vim スクリプトだけで書けそうなので書き直してみた。 変…

markdown を折り畳む

vim

#Vim ftplugin/markdown.vimにh1(#)とかh2(##)をfoldする機能追加したいけど暇がないので誰かやってください2010-03-01 23:33:49 via Termtterしょうがないなぁ。書いてみたから、これを ftplugin/markdown_fold.vim などに置くといいよ。 ちなみにあまりテ…

quickrun.vim で C(large-C) を使う

vim c

quickrun.vim って hoge.c と ディレクトリ hoge があるとき失敗してしまうのか2010-02-24 03:31:16 via TwitVimそう言われてみれば。Windows ならともかく quickrun.vim はデフォルトの設定では実行ファイル名をソースファイル名と同じにしてるのでディレク…

Online.sg 第09回 「LLVM」に参加した

LLVM は個人的に興味津々だったのでwktkしながら参加しました。 第9回テーマ 「LLVM」 - Online.sg発表資料:http://github.com/ujihisa/onsg9/blob/master/slides.md 当日ログ:http://lingr.com/room/onsg/archives/2010/02/21 バンクーバにいる ujihisa さ…

Scala Hack-a-thon #2 に行ってきた

Scala Hack-a-thon #2 に行ってきた。今回はちょっと所用があって最後までは行けなかったのだけど、発表とかもあってなかなか楽しめた。 午前中に id:yuroyoro さんの Scala 最速マスター的な解説があって、個人的には大方把握している内容ではあったけれど…

svn-diff.vim を書き直した

svn-diff.vim が便利 svn-diff.vim - Show diff when commiting changes on a subversion repository : vim online便利らしいんだけど、ウィンドウ分割されるのは好みじゃなかったのと実装があまりにもアレだったので書き直した。 ftplugin/svn_diff.vim に…

Vim プラグインの開発スタイルのお話

vim

Vim のプラグインって作ってる最中は Vim 自体の動作も不安定になりがちだし、普段の環境と同じ環境で作ってるとなにかと弊害が起きがち。ちょっとした変更ならまだしも、大規模な変更は 1 度の作業で終わらないこともあるし、作業中断して別のことをやるこ…

quickrun.vim で非同期実行できるようにした

vim

前からやりたいと思っていたのだけど、先日 ujihisa さんが correr.vim なるものをリリースして、これはこの波になるしかないと言う事で勢いで機能を追加した。 quickrun.vim 0.4.0 で使えるよ。GitHub - thinca/vim-quickrun at v0.4.0: Run commands quick…

cmd.exe のコマンドラインの仕様を解析してみた

cmd.exe の引数の扱いがあまりにもカオスだったのでちょっと頑張って調べてみた。 本来ならここは公式の資料に当たるのが正しいアプローチだと思うけど、どうしても公式の資料が見つからなかったので、色々試して推測してみることに。 断片的な資料は見付け…

Scala の match の謎の挙動

先日遭遇した不可解な挙動について。まずは以下のソース。実行すると結果はどうなるか。 trait A class B extends A trait C extends A class D extends B with C def check(x: A) = x match { case c: C => "C" case _ => "x" } println(check(new D)) 結果…

vimrc基礎文法最速マスター

vim

調子に乗って vimrc を書くのに特化した内容のものを書いてみる。取り上げた内容は完全に独断と偏見です。関連記事: Vimスクリプト基礎文法最速マスター - 永遠に未完成この記事では vimrc を書くにあたって知っておくべき概念や機能を解説します。Vim 自体…

Vimスクリプト基礎文法最速マスター

vim

流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 - Perlプログラミングの基礎から応用まで Route 477(2010-01-25) PHP基礎文法最速マスター - Shin x blog Python基礎文法最速…

個人的なskk.vimの今後

コード概観 - Humanity このエントリを受けて、どういう方針でやろうかってのを個人的な観点から述べます。あくまで個人的な。最終的にはもちろん周りに合わせます。 Vim6用のコードは消す方向で。 コード整理だけならともかく、機能の追加などを考えるとVim…

VimでBazaarのコミットログを書く際にDiff部分をハイライトする

let g:bzr_highlight_diff = 1 と言うかこれくらいデフォルトで有効にしておいてほしい…。