サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
コーヒー沼
h-east.hatenadiary.org
一昨日の夜WikipediaのVimページを見て腹が立ったのでこんなやり取りをしました。 WikipediaのVimページの作為性にキレて登場人物をうんこ呼ばわり Shougo氏をうんこ呼ばわりしたことは謝罪します。申し訳ありませでした。 プラグインの部分の文章の偏り方が作為的過ぎてムカついたんですよ。 Shougo氏に関連する情報だけが書かれすぎ。バランスが悪い。そんなにShougo氏の事書きたきゃShougo Matsushitaページ作成してそっちでやればいい。 Vimページの以下の2ヶ所で最も作為性を感じました。 (1) プラグイン - 代表的なプラグイン 特に、Shougo作による、Unite、Vimshell、Neocomplcacheなどはその代表例である。 なんでShougo氏だけなの?高性能で多機能なプラグインを作成した人は外国人や他の日本人にもいるでしょう。他の人の名前
[2013/04/16 追記あり] fedora17は64bit版です。 vimのソース取得 Vim from Mercurial : vim online を参考に引っ張って来ます。 私は ~/okome/vim に取得しました。 lua関連のパッケージのインストール $ sudo yum install lua lua-devel luaは既にインストールされているかも。 static linkさせたい場合は lua-static もインストールします。 $ sudo yum install lua-static Vimのconfigure 毎回configureのオプションを指定するのは面倒くさいので以下のようなファイル(copt_lua.txt)を作成しときます。 luaに関係するのは最後の --enable-luainterp=dynamic ですね。dynamicをyesにする
昨日ツイッターでルネサスさんおよびHEWを盛大にdisってしまいました。 関係者の皆様申し訳ありませんでした。 ここにdis理由を書きます。 検証Ver. High-performance Embedded Workshop Upgrade 4.09.00 C/C++ compiler package for SuperH RISC engine family V.9.04 Release 01 HEWのイケてないところ プロジェクトの設定を他の開発で流用しにくい。(プロジェクトのエクスポート機能がない?)(プロジェクトファイル *.hwp を直接編集するとHEWで開けなくなることが多い) コンパイラのマクロ定義設定の適用範囲をプロジェクト内全体またはCファイル個別に指定出来るが内部管理上は全体/個別を区別していないようで、プロジェクトにCファイルの追加/削除を繰り返すと設定がおかしくなっ
iOSにVimがやって来ました。 「ctrlキーが...」「ctrlキーが...」という声が聞こえてきますが、「Vimのヘルプがどこでも見れる&ちょこっと動作を試せる環境」と割り切るととっても最高なアプリです。 せっかくなのでヘルプを日本語で表示されるように設定してみましょう。 iPhone/iPod touch/iPadにVimをインストールする 今回はiPhoneにインストールします。 http://itunes.apple.com/jp/app/vim/id492668168?mt=8 Vim日本語ヘルプを用意する http://vim-jp.org/のWindows版(+kaoriya)をインストールしている場合は (Vimインストールフォルダ)\plugins\vimdoc-jaにすでにあります。 そうじゃない場合は https://github.com/vim-jp/vimdo
(Part1-1)、(Part1-2)、(Part1-3) さぁ、デバッガで動かして関連性を見てみましょう。デバッガは昔ながらのGDBを使います。GDBのフロントエンドはいくつか存在しますが、「昔ながら」でいきましょう。 man gdb GDBマニュアル ファイヤープロジェクト GDB ←わかりやすい!! デバッグ用バイナリの作成 GDBでCソースコードデバッグするにはデバッグ情報入りのバイナリを生成する必要があります。 bash $ cd vimソースをゲットしたディレクトリ # 再生成可能なファイルを削除 $ make distclean # デバッグ情報あり(-g)でconfigure (configureオプションはお好みで) $ ./configure CFLAGS="-g" --enable-multibyte --with-gnome --with-features=big
(Part1-1)、(Part1-2) 前回までのソースコード解析で「カーソル位置による相対行番号の描画データ設定処理」と「カーソル描画処理」をやっている部分が特定できました。 が、一つ忘れてましたorz。 「カーソル移動処理」。 Vimでカーソルを移動させる方法はいっぱいあるんですが、今回は j 押下時の処理を探しましょう。 " 「'j'」をgrep (:help :grep) :grep "'j'" .[Enter] " (grepが終わってから) " カレントウィンドウを次ウィンドウ(==Quickfixウィンドウ)に移動。 (:help ctrl-w_ctrl-w) <C-W><C-W> " Quickfixウィンドウの高さを可能な限り最大化 (:help ctrl-w__) <C-W>_ " 〜しばしgrep結果と戯れる(時おり <C-F> 押しながら)〜 Quickfixウィン
(Part1-1)からの続きです。 (お知らせ) コマンドラインモードのエンターキー押下の表記を省略せずに [Enter] で表すようにします。 カーソル描画処理を探す NO PLANっす。とりあえず cursor でgrepしてみましょう。 " 「cursor」をgrep :grep cursor .[Enter] " (grepが終わってから) " カレントウィンドウを次ウィンドウ(==Quickfixウィンドウ)に移動。 <C-W><C-W> " Quickfixウィンドウの高さを可能な限り最大化 <C-W>_ " ウィンドウを1ページ前方(↓)スクロール <C-F> " 〜しばしgrep結果と戯れる(時おり <C-F> 押しながら)〜 戯れて感じたこと CUIのカーソル処理の話なのでおそらく gui*.c とか関係ないはず。 カーソル下の文字によってカーソル幅とか変わるからマルチバ
Vimはご存知の通りC言語で書かれています。 ちょっと解析してみましょう。 題材はvim-jpのIssue#94 相対行表示にするとカーソルの表示位置がずれるで。 現象はMacOSXで発生してますが、持ってないので作業はlinux(fedora)でやります。 (追記)本来は先ず現象の発生した環境(OS, Vim ver., etc...)で現象の再現手順を確立すべきです。今回のアプローチはイレギュラーです><。 Vimのソースコードの取得 Vim本家を参考にしてゲットします。(詳細は割愛) 下準備 .vimrc " <C-]>でタグジャンプ時にタグが複数あったらリスト表示。カーソルがウィンドウの中心行になるようにジャンプ nnoremap <C-]> g<C-]>zz " タグファイルはカレントファイルのパスを基準に上向き検索 set tags=./tags; " grepは再帰検索、行番
2011/09/01 レアケース対応 2011/09/04 レアケースでecho表示されない件修正。その他微修正 quickfixバッファのタイプ(Quickfix List か Location List)をVimスクリプトから判断する方法がないと言っている方が居たのでちょっと作ってみました。 Vim scriptは殆ど書いたこと無いので突っ込みどころ満載とは思いますが、これで判定できるんじゃないでしょうか? ウインドウ数を保存。 ウィンドウサイズ情報を保持 現在のウィンドウのビューを保存 lopen を実行。 Quickfix List (通常)だったら例外発生するので捕捉してreturn。 もしウインドウ数変わっていれば、Quickfix List (レアケース)なので lclose 実行。 カレントウィンドウをlopen前のものに復帰。 ウィンドウサイズを復元 ウィンドウのビューを
vimを使っている人はたまに見かけるがメインエディタにしている人は少ない。 理由を聞くと「秀○やmi○esとかのglobal検索が便利過ぎてやめられない」と言ってました。 ちょっと待ってよ〜orz! vimでもできますよー!って言うことで解説。 ●vim7内部grepを使う :vimgrep /hoge/ **/* この場合、(vimの)カレントディレクトリ下(サブフォルダも含む)の全てのファイルから hoge を探します。(:help :vimgrep, :help file-searching) 検索終了後に :copen と入力すれば(vimとしての)別窓に検索結果一覧が現れます。(:help quickfix) 検索結果をダブルクリックもしくはリターンキーを押下すれば別窓に該当ファイルを開いて検索一致場所を表示してくれます。 閉じるときは :cclose です。 検索後にいちいち
このページを最初にブックマークしてみませんか?
『yeast’s blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く