さっくりと設定っと。 command! -nargs=1 Href !href <args> | nkf -w nmap <buffer> K :Href <cword><CR> とりあえずオッケー。
さっくりと設定っと。 command! -nargs=1 Href !href <args> | nkf -w nmap <buffer> K :Href <cword><CR> とりあえずオッケー。
Pythonで書かれたVim用shellフロントエンドvimshというソースを読んでます。かなり便利なんですが、古いしバグがあるので、修正を加えたり加筆を加えながら使ってます。どうやら補完も出来そうです。 vimshの凄いのは、シェルを起動していても、他の作業が出来る事。Vimはマルチスレッドを採用していません。Vim上でスレッドを使うと一瞬で落ちます。僕の最大の疑問は、「マルチスレッドを採用していないVimで何故マルチスレッドのような処理が出来るのか」 さて、catしてみましょう。 % cat _ ← 入力待通常getchar(3)を呼んだらユーザーの入力があるまで待機します。OSに処理を渡すからです。しかし、vimshでは、catのような待機状態でも他の作業を遂行することが出来ます。 むぅ。謎です謎。 vimshのソースを解析して答えが見えてきました。答えは「非同期通信」です。 Rub
omni補完、ヘルプ、デバッグなどお便利機能満載。 Haskell mode for Vim いい感じかも。 激しく使えそうなコマンドが、 :GHCi mainghciで関数mainを作用させられる。 ちょっと面倒なので、~/.vim/after/ftplugin/haskell.vimにをmapしてっと。 function! s:GetSelect() range let saved_reg = @" silent normal `<v`>y let str = @" let @" = saved_reg return str endfunction function! s:SaveAndEval(str) w % exe "GHCi " . a:str endfunction vmap <buffer> <silent> <C-CR> :call <SID>SaveAndEval(<S
これは便利。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
3日目はAjaxで電卓。「JavaScriptだけでいいんじゃねぇの?」というツッコミを入れたくなるが、進めてみる。 と、そのまえにVimの設定 Vimでファイル保存時にFirefoxをリロードする(with MozLab)をインストールして、ReloadFirefox関数部分を活用する。 F4キーを押したら、保存して、firefoxをリロードするようにする。 nmap <silent> <F4> :w<CR>:call ReloadFirefox()<CR> vimとfirefoxを横に並べておけば、firefoxに触れること無くデバッグ出来るようになる。マウス要らずで快適。 いつものように この本は、とりあえず書かせる→細かい所を説明という感じ。よくわからないままコーディングさせて、書きながら理解していく。とにかく手を動かすことが重要。 ということで、 訳のわからないまま書く。 書きな
マクロでブロック渡せば良いんじゃないかなぁ。 #include <stdio.h> #include <stdlib.h> #define times(n, i, block) for (i = 0; i < n; i++) block int main(void) { int i,j; times(3, i, { printf("outer block : %d\n", i); times(3, j, { printf(" inner block : %d\n", j); }); }); return EXIT_SUCCESS; } 実行結果。 outer block : 0 inner block : 0 inner block : 1 inner block : 2 outer block : 1 inner block : 0 inner block : 1 inner block
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く