前回は@mittanさんのVimmer養成ギプスでした。ambicmd長いコマンドを打ち込むのを省力化するコマンドラインで長いコマンド打つの、だるいですよね。プラグインのユーザ定義コマンドは、被らないようprefixとしてプラグイン名を付けるため、かなり長かったりします。試しに長いコマンドトップ10を列挙してみました。トップ10以降を削除:10,$deleteシェルスクリプトみたいですね。余談になりますが、シェルスクリプトみたいにパイプは使えないですが、以下の理由からシェルスクリプトより試行錯誤はしやすいと思います。バッファに対して副作用を与えながら「対話的に」書き換えていくリダイレクトするまでもなく、バッファに結果が残る&undoで直前の結果を取り消せるなので私は、複雑なテキスト整形はVim上でやることがあります。%」すると結果を出力できます。自分のVimだとこんな結果になりました。(やはりネオコンがランクインしたか...)TextobjJabracesDefaultKeyMappingsTextobjFunctionDefaultKeyMappingsNeoComplCacheAutoCompletionLengthTextobjBetweenDefaultKeyMappingsTextobjSyntaxDefaultKeyMappingsTextobjIndentDefaultKeyMappingsTextobjEntireDefaultKeyMappingsNeoComplCacheCachingDictionaryTextobjLineDefaultKeyMappings閑話休題こんな長いコマンド打ってられないですよね。今回はそんな長いコマンドを打つのを省力化する方法を3つほど紹介します。マッピング長いコマンドを打ち込むのを省力化する基本的な方法は、マッピングを割り当てることです。全ての長いコマンドにいちいちマッピングを割り当てるのはもったいないマッピングには引数を与えられないコマンドラインの方が現在何を打ち込んでいるか見えるため安心感があるコマンドラインならバックスペースなどで入力中のコマンドを修正できる3は'showcmd'オプションで解決する問題ではあります。4の理由のために私は次のaltercmdというVimプラグインを用いた方法が好きです。altercmdkana氏作のaltercmdというVimプラグインがあります。GitHub現在altercmdには複数のバージョンが存在します。オリジナルのkana氏のバージョンと、魔改造を加えた私のバージョンです。それぞれの違いはwikiにまとめてあるので、どっちを使っていいか迷う方は参照してみてください。GitHub私のバージョンのリポジトリは以下です。g/MapAlterCommand」して)抜き出してみました。MapAlterCommandは私の.vimrcで定義したコマンドなので、altercmd.vimが提供しているコマンドではありません。Helpのようなhelpでもよく見かける記法を使うことができます。上記の例は「h」「he」「hel」「help」を「Help」に展開する設定です。ambicmdthinca氏作のambicmdというVimプラグインがあります。存在しないコマンドを打ち込み既存のユーザ定義コマンドに似たコマンドがあるならaltercmdのようにコマンドを展開してくれます。:NeoComplCacheLock」のような展開が行われるようです。上で「ようです」と書いたように、実は私はambicmdは使っていません。altercmdのように明示的にaliasを追加する方が何が展開されるのか分かって安心感があるからです。altercmdのように設定を書く必要がなく、マッピングやaliasを忘れる心配がないため、こちらの方法が好きな方もいると思い、紹介しました。Calendarは@manga_osyoさんです。2012の283日目の記事です。2012の248日目の記事です。ノーマルモードに移りたい。便利にした月ごとはてなブログをはじめよう!tyruさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。