たけっぱ横丁

the technical document for Vim(Editor), Natural Language Proecssing(NLP) tools and Programming(Python, Ruby, C++ etc).

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

vim-plugin: sum-it.vimを作った

選択した部分の数値を合計してくれる sum-it.vimを作った テキストを編集していると, 時たまに数値の合計を知りたくなる時が有ります. そういう時, 一々電卓を起動するのもナンセンスだなーと思ったのですが 探しても計算してくれそうなプラグインは存在しな…

Vimで選択部分のテキストを取得する

Vimで選択した部分を取得する How to get visual selected text in Vim vimでscriptを書いていると,選択した部分にのみ結果を反映したいみたいなことがあります. この方法を自分で色々調べていたのですが How to get visually selected text in VimScrip こ…

vimでできるROT13符号・復号

vimではROT13符号化が簡単にできる ノーマルモードでたったこれだけ g? 詳細は':h g?'を見ると良い takeppa → gnxrccn → takeppa vim 素敵!

Pythonで末尾再帰最適化

末尾再帰最適化 Pythonでは本来, 末尾再帰最適化は行われないのですが デコレータを使うことによって一発で末尾再帰化を行ってくれるようになります. 今日は,そんな末尾再帰最適化について紹介します. 末尾再帰 そもそも末尾再帰ってなんだろう ってことで…

Vimでシンボリックを辿る

シンボリックリンクファイルの編集方法 シンボリックを編集するとき,皆さんどうしてますでしょうか? vimではシンボリックリンクのファイルを編集するとき パスの展開は行われずに編集が開始されます. 僕はdotfilesをクローンしてきて, それをシンボリックリ…

言語処理のための例外処理

経緯 私,自然言語処理に携わる研究を行っているのですが 必然と大規模なテキストデータを扱います. (恐らく大半の言語処理のプログラムを書いている方に訪れるであろう)鬼門が どれだけ網羅しようともテキストデータに例外が存在する ということです. 自然…

PythonでGram-Schmidt(グラム-シュミット)正規直交化をする

pythonはC/C++と違って 何やるにしても十分にツールが充実しているのがすばらしいですね ということで、今日はpythonでGram-Schmidt正規直交化を紹介します! 正規直交化っていうのは、いくつかのベクトル列から 正規直交(大きさ1, 直交なベクトルの内積は必…

Vim Tips @004 markdown 中の code ブロックをハイライトする

編集中のcodeブロック内をハイライトしたい。 markdownを使っているなら思うはず。 たぶん方法はいくつかあるが自分が使ってるtpope/vim-markdownに 便利な機能がついていたのでそれを紹介する tpope/vim-markdown 設定はこれだけ let g:markdown_fenced_lan…

Vim Tips @003 VimでCtrl+EnterやShift+Enterをマッピングする.

Ctrl+EnterやShift+Enterをmappingする. <C-CR>や<S-CR>, <C-Enter>や<S-Enter> ,<C-Return>や<S-Return> と記述があるが、まあ要はそこらへんのキーのマップをどうやって行うかの説明である. ここらへんのマップは一筋縄じゃないかない. GUIでは普通にできる GVimとかMacVimならば普通に以下のコードでマッピン</s-return></c-return></s-enter></c-enter></s-cr></c-cr>…

Vim Tips @002 Vim から Hatena Blog に投稿を行う(hateblo.vim)

VimからHatena Blogへ記事を投稿する. Hatena Blogはmarkdownで記事を記述することができる。 これが非常に便利であるのには違いないのだが、やはり書き慣れたエディタで記述したい。 そうVi)で記事を投稿したい。 そこで素敵なプラグインである hateblo.vim…

Vim Tips @001 [ Vimでクリップボードを利用する3つの方法]

vimのclipboard設定 Vimではregisterとして[0-9a-z".=*+]がレジスタとして使える。 うちシステムのクリップボードと共通のレジスタがある. "*(primary) と"+(clipboard) である。(:h clipboard) 難しい話は割愛. 2つの違いは, (X11環境下のみ, Windowsでは下…