cmdex.vim : Kaoriyaパッチ ユーティリティコマンド集
cmdex.vimスクリプトはKaoriya版vimエディタに含まれるユーティリティコマンド定義スクリプトです。 「:CdCurrent」「:VDsplit」「:Scratch」「:Transform」「:Tutorial」など、 Kaoriya版に組み込まれている便利なコマンドのいくつかは、このcmdex.vimスクリプトで定義されています。 Kaoriya版のvimエディタを使用しているなら、この記事は読んでおくべきです。 (Windows, Mac)
概要
cmdex.vimスクリプトはKaoriya版vimエディタに含まれるユーティリティコマンド定義スクリプトです。
「:CdCurrent」「:VDsplit」「:Scratch」「:Transform」「:Tutorial」など、
Kaoriya版に組み込まれている便利なコマンドのいくつかは、このcmdex.vimスクリプトで定義されています。
Kaoriya版のvimエディタを使用しているなら、この記事は読んでおくべきです。
インストール方法
cmdex.vimスクリプトは、Kaoriyaパッチに添付されています。
Kaoriyaパッチ入りのvimエディタを使用している場合は、
既に使用可能な状態になっているため、インストール作業は必要ありません。
cmdex.vimにより使用できるようになるコマンド、マッピングの一覧
cmdex.vimスクリプトには、次の表のコマンド、キーマッピングが定義されています。
コマンド | 簡易説明 |
---|---|
:Tutorial | vimエディタのチュートリアルを開始する。 |
:Scratch | 作業用バッファを作成する。 |
:CdCurrent | カレントディレクトリを、現在開いているファイルと同じディレクトリに変更する。 |
:Transform | perl言語のtr演算子のような置換処理を行う。 |
:VDsplit | 今開いているファイルと、指定したファイルとの差分表示を行う。 |
:Undiff | diffモードを終了させる。 |
:HTMLConvert | 見た目そのままのHTMLを生成し、拡張子.htmlを付けたファイルに出力する。 |
:Nohlsearch | 最後の検索ワード情報を消去する。「:nohlsearch」コマンドの強化版。 |
:IminsertOff | 入力モードに入った時に、インプットメソッド(日本語入力)をオフにする。 |
:IminsertOn | 「:IminsertOff」コマンドによって行われた変更を元に戻す。 |
:MenuLang | 指定した言語のメニューバー設定ファイルを読み込む。 |
マッピング | 使用できるモード | 簡易説明 |
---|---|---|
Ctrlキーを押しながらx | コマンドラインモード | 今開いているファイルのディレクトリまでのパスを出力する。 |
各コマンドの使い方、説明
:Tutorial
「:Tutorial」コマンドを実行すると、vimエディタのチュートリアルが開始されます。
このコマンドはチュートリアルの原本のファイルを「TUTORCOPY」という名前でコピーし、
そのコピーファイルを使用してチュートリアルを行うので、
「:Tutorial」コマンドでチュートリアルを開始した場合は、
チュートリアル中にファイルを変更しても何ら問題ありません。
参考:「 チュートリアルでvimの使い方を覚えよう 」
" vimエディタのチュートリアルを開始する。 :Tutorial
:Scratch
「:Scratch」コマンドを実行すると、作業用の空のバッファを作成します。
作業用バッファは一時的なメモや編集用のスペースとして利用できます。
" スクラッチバッファを開く。 :Scratch
:CdCurrent
「:CdCurrent」コマンドは、カレントディレクトリを今開いているファイルと
同じディレクトリに変更するコマンドです。
ファイルを引数にとるコマンドを実行する時などに便利に利用できるコマンドです。
" カレントディレクトリをファイルと同じディレクトリにする。 :CdCurrent
:Transform
「:Transform」コマンドを使用すると、perl言語のtr演算子のような処理を実行できます。
このコマンドは引数として、変換対象の文字、変換後の文字の2つ受け取ります。
" A→x、B→y、C→zと対応する文字に置換します。 :Transform ABC xyz " コマンド処理の範囲の指定を行わないと、カレント行にしか置換処理を行いません。 :%:Transform abcde xxyyz :20,40:Transform 12345 51234
Note
左引数の1文字目が、右の引数1番目の文字に置換される。( A → O )
左引数の2文字目が、右の引数2番目の文字に置換される。( B → P )
左引数の3文字目が、右の引数3番目の文字に置換される。( C → Q )
左引数の4文字目が、...
:VDsplit
「:VDsplit」コマンドは今開いているファイルと指定したファイルとで差分比較を行うコマンドです。
コマンドの引数として比較対象のファイルを受け取ります。
参考:「 2つのテキストファイルの差分を取る 」
" カレントファイルと、'another.txt'とで比較を行う。 :VDsplit another.txt
:Undiff
「:Undiff」コマンドは、カレントウィンドウのdiffモードを解除するコマンドです。
diffによる比較が終わった後に、元の状態に戻すのに使用できます。
" diffモードを解除する。 :Undiff
:HTMLConvert
「:HTMLConvert」コマンドを実行すると、今開いているファイルを見た目そのままの形式で
HTMLに変換し、
「カレントファイルの名前 + .html」という名前のファイルに出力します。
この機能は2html.vimスクリプトに用意されている機能です。
参考:「 2html.vim : Transform a file into HTML, using the current syntax highlighting. 」
" HTMLを生成する。 :HTMLConvert
:Nohlsearch
「/」「?」による検索を行った後、「:nohlsearch」コマンドを実行すると
検索のハイライトを消去することが出来ますが、
その状態でも「n」キーを押してしまうと、再び検索が始まり、
検索にマッチするテキストのハイライトが行われてしまいます。
「:Nohlsearch」コマンドを使用すると、前回の検索テキストの記録を消去することができるので、
そのような事態を避けることができます。
" このコマンドは「:nohlsearch」コマンドの代替として使用できる。 :Nohlsearch
:IminsertOn、:IminsertOff
「:IminsertOff」コマンドを実行すると、ノーマルモードなどから入力モードに入った時に、
必ず日本語入力がオフの状態から始まるようになります。
(つまり、アスキー入力の状態から始まります。)
「:IminsertOn」コマンドは、その「:IminsertOff」コマンドと対になるコマンドで、
「:IminsertOff」コマンドによって変更された状態をクリアし、初期の状態に戻すことができます。
" 入力モード開始時は日本語入力オフ。 :IminsertOff " 「:IminsertOff」コマンドの変更をリセットする。 :IminsertOn
:MenuLang
「:MenuLang」コマンドは、指定した言語のメニュー定義ファイルを読み込み、
メニューをロードしなおすコマンドです。
次のコマンド例のように、メニューの言語を引数に取ります。
" 「:MenuLang」コマンドの使用例。 :MenuLang ja_jp.ujis :MenuLang en :MenuLang nl_NL.ISO_8859-1
マッピングの使い方、説明
コマンドラインモードで、Ctrl-x
コマンドラインモードでCtrl-x (Ctrlキーを押しながらx)を押すと、 編集ファイルの親ディレクトリまでのパスが出力されます。
例えば、次のような状態で、
↓ Ctrl-xを入力すると、ファイルのあるディレクトリまでのパスが出力されます。
設定
cmdex.vimの使用を停止する。
cmdex.vimスクリプトはvimエディタ起動時に読み込まれます。
スクリプトで定義されたコマンド、マッピングが読み込まないようにするには、
次の設定をvimエディタの設定ファイルに追加してください。
" cmdex.vimスクリプトの読込を停止する。 :let plugin_cmdex_disable = 1
注意事項など
この記事は2008年1月7日に記述されました。
今後、このcmdex.vimスクリプトファイルが変更され、
この記事どおりに行かない可能性がいくらかあります。
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 11 years ago