vimの使い方

まずはファイルを開く

ファイルエクスプローラーを開く :e .
サブディレクトリにある該当ファイルを全て開く :args **/[ファイル名]

編集したいところへ移動する

左へ移動 h
下へ移動 j
上へ移動 k
右へ移動 l
検索 /
次の検索結果 n
前の検索結果 N
次の行の1文字目へ移動 +
前の行の1文字目へ移動 -
1画面下スクロール Ctrl+f
1画面上スクロール Ctrl+b
半画面下スクロール Ctrl+d
半画面下スクロール Ctrl+u
指定行へ移動 [行数]G
同じ行内で最初に出てくる該当文字の前までジャンプ t[文字]
同じ行内で最初に出てくる該当文字までジャンプ f[文字]

編集する

3行目から5行目を削除する :3,5d

設定を変える

行番号を表示する :set nu
行番号を表示する :set nonu

利用ポリシー

  • 行番号は常に表示して編集を行うこと。行番号を表示していないviはいくら頑張っても一定以上操作は速くできなくなる。
    • 理由:コピー&ペーストは行範囲指定で処理するのが最速なため(当然ヴィジュアルモードより、端末のクリップボードコピーより断然速い)。
    • 例外:クライアントへ端末でクリップボードコピーを行う時はコピーの内容に行番号まで含まれてしまうため、その時だけ例外的に行番号を非表示とする。
  • 複数のファイルもバッファー機能を使い必ず1プロセスのviで処理すること
    • 理由:別なviのプロセスを立ち上げるとファイル間でのコピー&ペースト等できなくなるため。

所感

自分用に改めてまとめてみましたが、結局vimを使いこなしていくためには、

  • 操作コマンドを覚えるのではなく、自分がよく行っている操作をどうコマンドで実現するかを考えて繰り返し使っていくこと
  • 1タイプでも短く処理できる方法を考えて体に覚えさせていくこと
  • viの良いところはUnixであれば最初からインストールされていることなので、プラグインなど環境に依存するものは極力使わず、vimrcのみコピーすれば利用できるようにしておくとこと

が重要かなと思います。新しく覚えたものはちょくちょく追加していきます。

クリップボードの共有

Windows版のgVimを使っているが他のソフトへのコピー&ペーストが結構面倒だなと思ってましたが、vimのyyなどでヤンクした内容を利用できる設定があるんですね。

set clipboard=unnamed

前はWindowsのコピペショートカット(Ctrl+X, Ctrl+C, Ctrl+V)をキーバインドする設定を入れて使ってましたが、せっかくvimを使っているのであればクリップボード共有の方が便利だと思います。

gdi++ と M+2VM+IPAG circle

インストール

gdi++をインストールしてgVimputtyに適用した。puttyはFontでTerminalを設定していたので、最初おや?と思いましたが、ついでに評判のM+とIPAが配布しているフォントの合成バージョンである M+2VM+IPAG circleをインストールしてそれぞれに設定してみた。

 - gvimrc
  "set guifont=MS_Gothic:h10:cSHIFTJIS
  set guifont=M+2VM+IPAG_circle:h10:cSHIFTJIS

 - putty
  設定メニュー→ウィンドウ→外観からフォントの設定でM+2VM+IPAG circleを指定

これは。。たしかに美しいですね。

コマンドの作り方

Firefox3の超強力WebコマンドラインインターフェースUbiquityの自作コマンドの作り方を紹介します。

  • Ctrl + Spaceで起動しcommand-editorを起動する
  • command-editorに記載した自作コマンドは自動的に保存されいつでもCtrl + Spaceで呼び出せる
  • 簡単にコマンドを書きたいのであれば、cmd_[コマンド名]という関数を作ればよい
  • サイトで自作コマンドを公開したいときは、タグを利用すればよい
<link rel="commands" href="http://path-to-js" name="Title Goes Here" />
  • Ubiquityを利用しているユーザがこのページに訪れると、Subscribeを勧めるメッセージが表示される。Subscribeしようとするとセキュリティ警告が一度表示される。
  • この形で導入したコマンドはサイト側のJSが変更されるとリアルタイムに内容が反映される。(おっしゃれー)

参考URL: