Vim

自動的に補完候補を表示する

Vim

自動補完候補表示の設定を追加した。 候補を出す際に CTRL-N、CTRL-P を押す必要がなくなり、かなり快適になった。

project.vim を入れた

Vim

project.vim を導入。まだ使いこなしていないので何とも言えないが、ファイルエクスプローラとしては秀逸。 Grep のショートカットも便利。 インストール後、 :Project でプロジェクトウィンドウを開いた後、 \C でウィザードが開始。 Enter the Name of the…

JavaScript を整形するプラグイン

Vim

OOP javascript indentation を入れた。 var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } このように、JavaScript オブジェクト形式で書いても正しくインデントが入る。

各行に行番号を入れたい

Vim

各行に行番号を入れたい。たしか Vim のコマンドでできたはずだが、忘れたので ruby で対応。 ruby $curbuf.count.times{|x| $curbuf[x+1] = "#{x+1} " + $curbuf[x+1]}

Cygwin から Windows の GVim を使う

Vim

仕事の都合で CVS を使うことになったので、Cygwin を入れた。 Cygwin の Vim は、日本語が入力できなかったり CTRL-H で文字が削除できなかったり鬱陶しいので何とかしたいと思っていたら、 社内のもう 1 人の Vim 使いの人が「Windows の GVim 使いなさい…

カーソル位置の履歴を行き来する

Vim

CTRL-O と CTRL-I で、カーソル位置の履歴を行き来することができる。コードの上部を gg で確認した後、CTRL-O で戻ると便利。 履歴の一覧は :ju で見られる。

Vim から JSFL を実行する

前エントリの派生で、Vim で編集中の JSFL ファイルを Ctrl-Enter で実行できるようにした。コマンドのテストが楽になって嬉しい。 Ctrl-Enter で JSFL を実行できるようにする JSFL の filetype を設定する。これは JavaScript のものをコピペでよい。 $VIM…

Vim から Flash のパブリッシュを実行する

Vim で ActionScript を編集中に、Ctrl-Enter を押すとパブリッシュされるようにした。Alt-Tab で Flash IDE に移動しなくて済む。 Ctrl-Enter でパブリッシュできるようにする filetype を設定済みなことが前提条件で、 $VIM/runtime/ftplugin/actionscript…

コマンドモードのコロンは 2 個以上でも有効

Vim

コマンドモードのコロンは何個打っても有効。 ::::::::::::::::::::w 打ちすぎても消さなくてよい。

ファイルの新規作成時にテンプレートを適用する

Vim

vimrc に以下のような 1 行を加えることで、テンプレートからファイルを新規作成できる。やっていることは単に read しているだけだが、非常に便利。無駄なコピペ作業が無くなった。 :au BufNewFile *.html 0r $VIM/templates/template.html ヘルプは :he te…

ノーマルモードに戻るキーの流派

Vim

ノーマルモードに戻る方法はいくつかある。 ESC CTRL-[ CTRL-C 自分は CTRL-[ 派。ホームポジションで押せるし、左小指と右小指で小気味がよいから。ただ、焦っているときは ESC を連打する。

ウィンドウを最大化して起動する

Vim

Vim 起動時に、儀式的な行動としてウィンドウを最大化している。 :simalt ~x これを毎回入力するのが面倒なので、F12 にマップしたのだが、調べてみると、起動時に最大化する設定があるようだ。 au GUIEnter * simalt ~x vimrc に追加しておこう。

行を補完する

Vim

インサートモードで CTRL-X を押し、続けて CTRL-L を押すと行補完を行うことができる。ヘルプは :he compl-whole-line ActionScript の長いパッケージ名を補完する たとえば、幾つか .as ファイルのバッファを開いた状態で、 import org.dyndns.bitmap. こ…

Align.vim のバグ

Vim

Align.vim に落とし穴が。 var a = 100; var hoge = (a == 100) ? "bar" : "baz"; このような、連続する = が行に含まれたコードを \t= で整列すると、== の部分が文字化けを起こし、文字コードによってはファイルを保存できなくなる。要注意。

改行が崩れ、大量の ^M が表示されるときの対処法

Vim

改行が崩れ、大量の ^M が表示されるときの対処法。 :e ++ff=mac カレントファイルの fileformat を mac にするという意。よく忘れるので文法で覚えておこう。

コマンド入力の履歴を一覧表示する

Vim

Vim の終了時に q: と typo したら見慣れぬウィンドウが現れた。コマンドラインウィンドウというらしい。 このウィンドウには、過去数十件のコマンド履歴が表示されていて、Enter を押すとカーソル下のコマンドが即座に実行される。 何も実行せずにコマンド…

リモート上のファイルを直接編集する

Vim

Vim からリモート上のファイルを直接編集できる。 :e http://yahoo.co.jp/ とおもむろに打ったら Yahoo トップページのソースが開いた。面白い。 :he netrw でヘルプを読める。ちなみに Linux 環境なら問題ないが、Windows の GVim だと、wget などのコマン…

ファイル末尾の EOL を削除する

Vim

Vim で編集したファイルの末尾には、必ず改行 (EOL) が入る。この EOL を削除するには、バイナリモードにして noendofline を設定する。 :set binary :set noendofline 以前、Flash の loadVariables から読むテキストを Vim で書いたが故に冷や汗をかき、今…

コピペ用 .vimrc

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…

ビジュアルモードで選択した範囲内を検索する

Vim

選択範囲内を検索できないものかと調べていたら、素敵な設定があった。 選択範囲内から検索 Tip #796: Search only over a visual range 以下の関数とキーマッピングを gvimrc に記述すれば、ビジュアルモードで選択した状態から / や ? で範囲内のみを対象…

Vim7 内蔵の grep を使う

Vim

Vim7 から、内蔵の grep プログラムが使えるようになっている。との情報を「grep を使いやすくする」のコメントでいただいた。結論から言うと内蔵 grep は便利。 vimgrep を使う Vim7 内蔵の grep を使うには :vimgrep コマンドを使えばよい。 :vimgrep /hog…

Windows の Vim7 に Align.vim をインストールする

Align.vim を Windows の Vim7 へインストールする手順。 vimball.tar.gz を展開し、runtime フォルダにコピー Align.vba.gz を展開する Align.vba を Vim7 で開き、:so % コマンドを実行する 2008.01.30 追記 Vim 7.1(?) から、デフォルトで Vimball が入っ…

guifont の値が反映されない

Vim

Vim7 を入れた。設定ファイルなどは Vim6 からそのまま移行した。が、gvimrc の guifont で指定したフォントが適用されない問題に会う。フォント名に 2 バイト文字を含むと駄目らしい。 :se guifont で出力すると、フォント名が文字化けしている。 gvimrc の…

grep を使いやすくする

Vim

Windows では :grep コマンドの実体が findstr.exe で、いまいち使いづらいので GNU grep と grep.vim を使うようにした。特に、バッファ内を検索する :GrepBuffer が便利。 GNU grep をインストールする 以下の 2 サイトからバイナリをダウンロードする。 G…

ActionScript ファイルを BOM 付きの UTF-8 で編集する

Vim

ActionScript ファイルを BOM 付きの UTF-8 で編集したかったので au BufNewFile,BufReadPost *.as set fenc=utf-8 bomb を gvimrc に追加した。

コメントアウトと、その解除をトグルさせる

Vim

EnhCommentify.vim を使うと、コメントアウトと、その解除が楽になる。 EnhCommentify.vim : comment lines in a program 日本語での解説 ActionScript に対応させる デフォルトでかなりの種類のファイルタイプに対応しているが、ActionScript は対応してい…

Vim の Ruby インタフェース

Vim

Ruby スクリプトの結果を手軽に Vim のバッファに適用できないものかと調べた結果、Vim には Ruby/Python/Perl インタフェースなるものが実装されていることを知った。詳しくは、:he ruby (和訳) にある。 主に使用するコマンドは以下の 2 つ。 :ruby {comma…

HTML の閉じタグを自動挿入する

Vim

closetag.vim を導入すれば、HTML の閉じタグの自動挿入が可能となる。初期設定のキーバインドは <C-_> となっているが、日本語配列のキーボードでは <C--> と入力すればよい。が、僕はキーバインドを <C-]> に変更した。リンク先の変更を加えれば、タグ内にカーソルが移動</c-]></c--></c-_>…

Align.vim を使った、コードレイアウトの自動化

Vim

連続する代入文は = の列を揃えるとコードの可読性が上がる。しかし、列を揃える作業は時間を取る上に、整列させたとしても、ある変数名の長さが変わる度に、他の行のスペースの数を調整しなければならない。 そこで、Align.vim を使う。Align.vim は、面倒…

text-objects でショートカット

Vim

Development Environment Conference 以降、個人的に活躍しているのが text-objects だ。ビジュアルモードとカーソル移動で行っていた作業が大幅に楽になった。詳しくは、:he text-objects。または、オライリーの「入門 vi」170p に解説がある。 では、覚え…