タグ

ブックマーク / boxnos.hatenablog.com (5)

  • tapは便利かも - ボクノス

    Ruby1.9に搭載されたtapが便利そうなので、Schemeに移植してみた。 ところでtapって何よ 副作用専門メソッド。 入力 -> tap -> 出力 V 副作用要するに、Linuxコマンドで言う所のtee。デバッグに便利かも。 Schemeに移植 簡単。 (define (tap f x) (f x) x) ワンライナでオケ。 使ってみる 1から10までのリストを二乗する。 (define (p x) (display x) (newline)) (define (square x) (* x x)) 結果がナカナカいい。 (map square (tap p (iota 10 1))) ; (1 2 3 4 5 6 7 8 9 10) ; (1 4 9 16 25 36 49 64 81 100) 途中にtapを挟んでおけば、任意の箇所にprintfデバッグを仕掛けられる。 se

    tapは便利かも - ボクノス
  • VimScriptをその場で実行 - ボクノス

    .vimrcがやたら汚くなってきたので書き直し中。いちいちsource %とかするのが面倒なので、その場で反映させたい。いつも忘れるのでメモ。 ヘルプをみると、 @{0-9a-z".=*} Execute the contents of register @レジスタでレジスタ内のコマンドが実行できるので、それを利用してっと ~/.vim/after/ftplugin/vim.vimに追加する。 nmap <silent><buffer> <SPACE>e "zyy:@z<CR> vmap <silent><buffer> <SPACE>e "zy:@z<CR> スペース + eで、 ノーマルの場合行実行。 ビジュアルの場合選択範囲実行。 こんなに大きなキーがあるのに活用してなかったとは!! 色々スペースに割り当てていこうかと思う。 ついでに 保存して全体実行 map <silent><bu

    VimScriptをその場で実行 - ボクノス
  • 他のウィンドウにコマンドを送りつける - ボクノス

    日のvimscript。やべぇ。すげぇ可能性を感じた。 " return current window number function! MoveWindow(buf_name, split) let cur = winnr() if !buflisted(a:buf_name) return -1 else let winnr = bufwinnr(a:buf_name) if winnr == -1 if a:split exe "sp " . a:buf_name else exe "b " . a:buf_name end else exe winnr . "wincmd w" endif endif return cur endfunction function! SendCommand(buf_name, cmd) let cur = MoveWindow(a:buf_nam

    他のウィンドウにコマンドを送りつける - ボクノス
  • Vim上でRubyを動かしたい。 - ボクノス

    Vim上でirbみたいな事が出来たら素敵かなぁと思って、こんなスクリプト作ってみた。 概要 Vim上でのRuby開発を加速させます(たぶん) 組込みRubyを使ってVim上でirbみたいな事ができます。 ノーマルモードで「ctrl + enter」すると、カーソル下の行実行 ビジュアルモードで「ctrl + enter」すると、選択範囲の実行 matchit.vimがあるとブロック実行出来て更に幸せです。 インストール ~/.vim/after/ftplugin/ruby.vim辺りに保存しておいて、再起動。 nmap <buffer> <C-CR> :call <SID>Eval(function("<SID>YankNormal"))<CR> vmap <buffer> <C-CR> :call <SID>EvalVisual()<CR> execute 'ruby vim_bind

    Vim上でRubyを動かしたい。 - ボクノス
  • ボクノス - Vim上でシェルを動かせるvimsh.vim

    これは便利。Vim上でシェルが動かせる。 vimsh.tar.gz - terminal/shell buffer script for python enabled gvim : vim online +pythonが必要。 使い方がちょっと特殊。source ~/.vim/vimsh.vimという感じで使うのでmapして使う。 なんといっても、ウィンドウを分割して表示出来るのが魅力的。 補完が全然効かないので、zshを動かすのには向いてないが、インタプリタを動かすときは効果絶大。かゆいところにちょっとだけ手が届く感じ。 早速,Life Changingにrateしといた。 追記 ソースをちょっと読んでみた。スゲー丁寧に書かれててびびった。 Pythonのソースを真面目に眺めたのは初めてかも、凄くシンプルな文法っぽくて好感が持てる。何処かで聞いたな・・・括弧の無いScheme・・・Pyt

    ボクノス - Vim上でシェルを動かせるvimsh.vim
  • 1