Vim
自動補完候補表示の設定を追加した。 候補を出す際に CTRL-N、CTRL-P を押す必要がなくなり、かなり快適になった。
project.vim を導入。まだ使いこなしていないので何とも言えないが、ファイルエクスプローラとしては秀逸。 Grep のショートカットも便利。 インストール後、 :Project でプロジェクトウィンドウを開いた後、 \C でウィザードが開始。 Enter the Name of the…
OOP javascript indentation を入れた。 var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } このように、JavaScript オブジェクト形式で書いても正しくインデントが入る。
各行に行番号を入れたい。たしか Vim のコマンドでできたはずだが、忘れたので ruby で対応。 ruby $curbuf.count.times{|x| $curbuf[x+1] = "#{x+1} " + $curbuf[x+1]}
仕事の都合で CVS を使うことになったので、Cygwin を入れた。 Cygwin の Vim は、日本語が入力できなかったり CTRL-H で文字が削除できなかったり鬱陶しいので何とかしたいと思っていたら、 社内のもう 1 人の Vim 使いの人が「Windows の GVim 使いなさい…
CTRL-O と CTRL-I で、カーソル位置の履歴を行き来することができる。コードの上部を gg で確認した後、CTRL-O で戻ると便利。 履歴の一覧は :ju で見られる。
前エントリの派生で、Vim で編集中の JSFL ファイルを Ctrl-Enter で実行できるようにした。コマンドのテストが楽になって嬉しい。 Ctrl-Enter で JSFL を実行できるようにする JSFL の filetype を設定する。これは JavaScript のものをコピペでよい。 $VIM…
Vim で ActionScript を編集中に、Ctrl-Enter を押すとパブリッシュされるようにした。Alt-Tab で Flash IDE に移動しなくて済む。 Ctrl-Enter でパブリッシュできるようにする filetype を設定済みなことが前提条件で、 $VIM/runtime/ftplugin/actionscript…
コマンドモードのコロンは何個打っても有効。 ::::::::::::::::::::w 打ちすぎても消さなくてよい。
vimrc に以下のような 1 行を加えることで、テンプレートからファイルを新規作成できる。やっていることは単に read しているだけだが、非常に便利。無駄なコピペ作業が無くなった。 :au BufNewFile *.html 0r $VIM/templates/template.html ヘルプは :he te…
ノーマルモードに戻る方法はいくつかある。 ESC CTRL-[ CTRL-C 自分は CTRL-[ 派。ホームポジションで押せるし、左小指と右小指で小気味がよいから。ただ、焦っているときは ESC を連打する。
Vim 起動時に、儀式的な行動としてウィンドウを最大化している。 :simalt ~x これを毎回入力するのが面倒なので、F12 にマップしたのだが、調べてみると、起動時に最大化する設定があるようだ。 au GUIEnter * simalt ~x vimrc に追加しておこう。
インサートモードで CTRL-X を押し、続けて CTRL-L を押すと行補完を行うことができる。ヘルプは :he compl-whole-line ActionScript の長いパッケージ名を補完する たとえば、幾つか .as ファイルのバッファを開いた状態で、 import org.dyndns.bitmap. こ…
Align.vim に落とし穴が。 var a = 100; var hoge = (a == 100) ? "bar" : "baz"; このような、連続する = が行に含まれたコードを \t= で整列すると、== の部分が文字化けを起こし、文字コードによってはファイルを保存できなくなる。要注意。
改行が崩れ、大量の ^M が表示されるときの対処法。 :e ++ff=mac カレントファイルの fileformat を mac にするという意。よく忘れるので文法で覚えておこう。
Vim の終了時に q: と typo したら見慣れぬウィンドウが現れた。コマンドラインウィンドウというらしい。 このウィンドウには、過去数十件のコマンド履歴が表示されていて、Enter を押すとカーソル下のコマンドが即座に実行される。 何も実行せずにコマンド…
Vim からリモート上のファイルを直接編集できる。 :e http://yahoo.co.jp/ とおもむろに打ったら Yahoo トップページのソースが開いた。面白い。 :he netrw でヘルプを読める。ちなみに Linux 環境なら問題ないが、Windows の GVim だと、wget などのコマン…
Vim で編集したファイルの末尾には、必ず改行 (EOL) が入る。この EOL を削除するには、バイナリモードにして noendofline を設定する。 :set binary :set noendofline 以前、Flash の loadVariables から読むテキストを Vim で書いたが故に冷や汗をかき、今…
自分のためにアップしておく。 colorscheme desert set nocompatible set autoindent set smartindent set ignorecase set showmatch set wildmenu set wildmode=list:longest set encoding=japan set fileencodings=utf-8,iso-2022-jp,cp932,euc-jp set ter…
選択範囲内を検索できないものかと調べていたら、素敵な設定があった。 選択範囲内から検索 Tip #796: Search only over a visual range 以下の関数とキーマッピングを gvimrc に記述すれば、ビジュアルモードで選択した状態から / や ? で範囲内のみを対象…
Vim7 から、内蔵の grep プログラムが使えるようになっている。との情報を「grep を使いやすくする」のコメントでいただいた。結論から言うと内蔵 grep は便利。 vimgrep を使う Vim7 内蔵の grep を使うには :vimgrep コマンドを使えばよい。 :vimgrep /hog…
Align.vim を Windows の Vim7 へインストールする手順。 vimball.tar.gz を展開し、runtime フォルダにコピー Align.vba.gz を展開する Align.vba を Vim7 で開き、:so % コマンドを実行する 2008.01.30 追記 Vim 7.1(?) から、デフォルトで Vimball が入っ…
Vim7 を入れた。設定ファイルなどは Vim6 からそのまま移行した。が、gvimrc の guifont で指定したフォントが適用されない問題に会う。フォント名に 2 バイト文字を含むと駄目らしい。 :se guifont で出力すると、フォント名が文字化けしている。 gvimrc の…
Windows では :grep コマンドの実体が findstr.exe で、いまいち使いづらいので GNU grep と grep.vim を使うようにした。特に、バッファ内を検索する :GrepBuffer が便利。 GNU grep をインストールする 以下の 2 サイトからバイナリをダウンロードする。 G…
ActionScript ファイルを BOM 付きの UTF-8 で編集したかったので au BufNewFile,BufReadPost *.as set fenc=utf-8 bomb を gvimrc に追加した。
EnhCommentify.vim を使うと、コメントアウトと、その解除が楽になる。 EnhCommentify.vim : comment lines in a program 日本語での解説 ActionScript に対応させる デフォルトでかなりの種類のファイルタイプに対応しているが、ActionScript は対応してい…
Ruby スクリプトの結果を手軽に Vim のバッファに適用できないものかと調べた結果、Vim には Ruby/Python/Perl インタフェースなるものが実装されていることを知った。詳しくは、:he ruby (和訳) にある。 主に使用するコマンドは以下の 2 つ。 :ruby {comma…
closetag.vim を導入すれば、HTML の閉じタグの自動挿入が可能となる。初期設定のキーバインドは <C-_> となっているが、日本語配列のキーボードでは <C--> と入力すればよい。が、僕はキーバインドを <C-]> に変更した。リンク先の変更を加えれば、タグ内にカーソルが移動</c-]></c--></c-_>…
連続する代入文は = の列を揃えるとコードの可読性が上がる。しかし、列を揃える作業は時間を取る上に、整列させたとしても、ある変数名の長さが変わる度に、他の行のスペースの数を調整しなければならない。 そこで、Align.vim を使う。Align.vim は、面倒…
Development Environment Conference 以降、個人的に活躍しているのが text-objects だ。ビジュアルモードとカーソル移動で行っていた作業が大幅に楽になった。詳しくは、:he text-objects。または、オライリーの「入門 vi」170p に解説がある。 では、覚え…