vim

unite-outline に特定の種類の見出しを非表示にする機能を追加

unite-outline では、「見出し」をプログラミング言語の構文上の要素に限定せず、「ジャンプ先として適当なもの」と大きくゆるくとらえており、飾り枠線で装飾されたコメントなんかも積極的に見出しとして拾うようにしています。 ▲ 飾り枠線で装飾されたコメ…

unite-outline の outline info の仕様を拡張

unite-outline のファイルタイプ別見出し抽出方法の定義ファイルである outline info の仕様を拡張したので告知します。後方互換性は保たれていますので、既存の outline info が使えなくなるとかいった話ではありません。*1ただ、outline info の仕様で、少…

Vim script の要求バージョンを調べる

vim

自作プラグインの required version を調べるべく、doc/version7.txt から Vim script のこの機能はこのバージョンから、という情報をざっくり拾ってみた。 7.3 strwidth() 7.2 Float 7.0 List Dictionary Funcref :let var +=, -=, .= いまどきの Vim scrip…

Vim script で abbrev

vim

Ruby の abbrev を移植してみた。 :echo util#abbrev(["perl", "python", "ruby"]) ↓ {'pytho': 'python', 'r': 'ruby', 'ru': 'ruby', 'perl': 'perl', 'pe': 'perl', 'pyt': 'python', 'py': 'python', 'ruby': 'ruby', 'per': 'perl', 'pyth': 'python', …

unite.vim で簡易アウトライン機能

ここでいう「アウトライン機能」とは、極々大雑把に、「ファイルの見出し一覧的なものを表示する機能」および、「見出し一覧から項目を選択することで該当個所へジャンプできる機能」、ぐらいの意味です。(世間一般において「アウトライン機能」といった場…

Vim の Rubyインターフェースを使ってみた

Rubyインターフェースを使い、ファイルのパスをゴニョゴニョするための一連のユーティリティ関数を書いてみた。それぐらい Vim script で書けよ、というものが大半*1だけど、一度使ってみたかったということもあり、練習も兼ねて。ていうか、色々と楽でいい…

commentout.vim 改 - その2

vim

NERD Commenter などに興味をそそられつつも、 commentout.vim : ソースをコメントアウト ←→ コメントアウト解除 ― 名無しのvim使い を継承したキーマップ設定を自分好みに改造しつつ、数年来ずっと使っているのですが、 commentout.vim 改 - Alone Like a R…

Vim の置換系キーマップを晒してみる - その2

vim

ただ今、vimrc の複雑なキーマップ設定をユーザー定義関数の呼び出しに置き換えたくなる症候群の真っ最中。手始めに Vim の検索/置換系キーマップを晒してみる にある置換系キーマップをすっきりとしたものにすべく、オプション文字列を元に、置換のための…

] という名前のファイルを作らない

vim

編集中のファイルを保存しようとして :w<CR> と打ちたいところが、なぜか誤って :w] と打ってしまい、カレントディレクトリに ] という名前のファイルを作ってしまう、という謎の手癖に長いこと悩まされていたが、先日思い切って cnoremap ] <Nop> とやってみた。手癖</nop></cr>…

シェルを求めて三千里〜vimshell への回帰〜

vim

前回の続き。ここまでの流れとは打って変わって話は大転回(笑)Conque を使っていよいよ本格的に Vim から zsh を使えるようになったものの、何かが劇的に変わったとか、改善されたというようなことは実は起こらなかった。わはは。というのは、シェルを使っ…

直前の単語境界からカーソル位置までを大文字にする

vim

THIS_IS_A_CONSTANT_NAME のような、すべて大文字からなる定数名の入力を多少楽にする方法について。補完がきく状況であれば補完すれば済む話ですが、新規に定数を定義する場合や、定数名が補完候補としてキャッシュされていない場合などは、どうしても自分…

Vim のスペルチェッカ早わかり

vim

Vim付属のスペルチェック機能を使う上で、とりあえずこれだけ覚えておけば OK、というコマンドを表にまとめてみました。(Vim付属のスペルチェック機能は、Vim が +syntax付きでビルドされていなければ使えません。+syntax の有無は vim --version で確認で…

シェルを求めて三千里〜ほら貝調律編〜

vim

タイトルだけ見ても何のことやらわからないと思いますが…… ほら貝というのは Conque のことです。(余談参照)「シェルを求めて三千里〜悠久のvim編〜」の続編です。導入以来ぼちぼちと固めてきた Conque の設定を晒してみます。 端末エミュレータとして Con…

Vim の検索/置換系キーマップを晒してみる

vim

一連の Vim Hacks を読んでかなりパワーアップしたので、自分の vimrc から検索/置換系コマンドのキーマップを抜き出して晒してみます。置換コマンドは eregex.vim のもの(:S)を使っています。Perl/Ruby互換の正規表現の書き方ができ、メタキャラクタとし…

Vim の status line に Unicode のコードポイントを表示する

vim

訂正 訂正というか、とっても恥ずかしいことをしていたのでこのエントリは全撤回します。コメント欄で id:krogue様に指摘された通り、「Unicodeコードポイントを取得する関数 - くふんを狙え」にある一連の関数は Vim の encoding が Unicode でない場合に、…

JavaScript のインデント定義ファイル for Vim

「javascript indent in vim - gnarl、技術メモ<s>ho<marquee>ge’”¥ 」様より継承したものを自分好みにちょっと改造してみました。主な変更点は、以下の通りです。(制約事項については「後書き」を参照) 1、式の途中での改行 演算子の後で改行するとインデントするよ</marquee></s>…

シェルを求めて三千里〜悠久のvim編〜

vim

タイトルに深い意味はありません。さて、vim強化月間ということで、vim による開発作業の能率を上げるべく、色んなプラグインに手を出してあれこれ試しています。中でも、「vim とシェルとのシームレスな連携」はひとつの大きな課題であって、自分が vim を…

:shell vs vimshell @端末世界

vim

vimfiler導入メモの続き。結論から言うと、:shell でいいや。ということになってしまいました。そういう結論に至った経緯について、 Vim-users.jp - Hack #142: Vimでシェルを起動する に書かれている「:shell の欠点」などを引きつつ、vimshell を使ってみ…

vimfiler のデフォルトキーバインドまとめ(機能別)

vim

感想文の副産物「プログラムノ~ト:VimFilerのデフォルトキーバインドまとめ」の焼き直しですが、デフォルトキーバインドのアップデートをフォローしつつ、機能別に整理してみました。キーバインドはもちろん各自で自由に設定できますので、キーバインドのま…

vimfiler を入れてみた

vim

vimfiler 入れたとつぶやいたら作者に見つかって感想を書くことになったでござるの巻というわけで vimfiler導入時のメモから使ってみた感想を書き起こしてみました。とりあえず自分の vimmerレベルやら環境のことを書いて、そこから導入の経緯についてさらっ…

gnome-terminal 設定メモ

ウィンドウのサイズ/位置 ランチャ>プロパティ gnome-terminal --geometry=100x52+300+0 基本 1行は 80〜100桁以内に収める。 色 vim で背景色が白のカラースキーマ(delek)を使用する場合にいい感じになる仕様。文字が明る過ぎると読みにくいので適当に…

簡易英和辞書コマンドを作成し、Vim から利用する

最近、Vim で英語のドキュメント(ソースコード中のコメント含む)を読む機会が増えました。カーソルの下にある単語の意味をぱぱっと引けるような英和辞書の機能が欲しいと思い、適当に(読解のヒントがなんか出ればいいや程度のノリで)作ってみました。肝…

Vimノート -- ウィンドウ

vim

分割 コマンド 説明 C-W s:split ウィンドウ分割 :sview ウィンドウ分割 → view C-W n:new ウィンドウ分割 → 新規ファイル :stag ウィンドウ分割 → タグジャンプ CTRL-w ] ウィンドウ分割 → タグジャンプ コマンド 説明 C-W v:vsplit ウィンドウ縦分割 :vnew…

Vimノート -- 繰り返し

vim

コマンド 説明 . コマンドを再実行(コマンドラインは対象外) @: コマンドラインを再実行 マクロ コマンド 説明 q 〜 q キーボードマクロの記録開始/停止 @ キーボードマクロの実行 @@ キーボードマクロの実行(繰り返し)

Windowsのクリップボードを使ったコピペ

vim

Cygwin で vim を使っていると Windows側のクリップボードとの連係で苦労させられる。端末エミュレータの選択範囲コピー機能で vim からテキストをコピーすれば改行がキャンセルされたりするわ、クリップボードの内容を vim に貼り付けようと思ったらいちい…

Vimノート -- マーク

vim

マーク 意味 a〜z 通常マーク A〜Z グローバルマーク(ファイル間マーク) 0〜9 vim終了時のカーソル位置履歴(0 が前回、1 が前々回、……)viminfoファイルが必要 [ 最後に挿入されたテキストの開始位置 ] 最後に挿入されたテキストの終了位置 ビジュアルモ…

Vimノート -- レジスタ

vim

コマンドの前にレジスタ指定を入れておくと、削除やヤンクするテキストを格納するレジスタを指定できる。レジスタは、" と指定する。( はレジスタを指定する文字のどれか) レジスタ 説明 " 無名レジスタクリップボードに相当するレジスタで、直前にヤンク…

commentout.vim 改

vim

commentout.vim に少し手を加え、コピーを取ってからコメントアウトする機能などを追加してみた。,, が prefix なのがコピーを取りつつコメントアウトするもので、例えば ,,# だと、 TkButton.new(:text => 'Exit') do |b| command lambda { exit } bind_mes…

% を Ruby のキーワードに対応させる

Cygwin上の vim(setup.exe でインストールしたやつ)だと、なぜか Ruby のキーワードで % が効かないのでヘルプを漁ると、matchit.vim っていうプラグインの名前に行き着く。さらに調べると、このプラグインは同梱されているもののデフォルトでは無効になっ…

自分用、正規表現エスケープしろやカス!メモ

vim

vim で正規表現を使うとき、いっつもあれ、この記号ってエスケープしないとダメだったっけ?で迷ってしまう。grep なんかでもそうだけど、メタキャラクタによって、エスケープしないとダメな(メタキャラクタとして機能しない)ものとそうでないものがまちま…