Vim初心者でもオレオレUniteソースを一瞬で作ってウハウハを味わえるプラグインを作った(定型文参照・挿入用Uniteプラグイン)
どうも、珍しく全然ご無沙汰しておりません有末です。 本日も作ったVimプラグインの紹介記事です。
例えばブログ記事を書く際に多用する特定のURLリンクやPyPIのClassifiersのように覚えられなくて参照したり入力したりするのが面倒なものって世の中にあふれていると思います。 こういう「定型文」はどこかにファイルを作って保存しておけばいいのですが、結構そのファイルをどこに保存したか忘れたり、わざわざ開いてヤンクするのが面倒なことも多いと思います。 昨日の記事(vim-gistaで訪れる世界で最も快適なGist環境 in Vim)で紹介したプラグインの開発過程でUnite.vimのプラグインの作り方が大分わかったので、こういう「定型文」もUniteの素晴らしいインターフェイスを用いて参照・検索・ヤンク・挿入を行いたいものですが、 こんなくだらないもののために労力を割いてプラグインを開発する気にもなれません。
そこで、特定のフォルダ内に存在するファイルの各行を『定型文』として提供するUniteプラグイン、unite-linephraseを作りました。 これを使えば「大量にある自分のメールアドレスの一覧」や「READMEを書くときに毎度参照するプラグイン等のURL」、「なかなか覚えられないVimのマッピングのチートシート」などが自分の好きなフォーマットで簡単に作成できます。なによりUniteプラグインを作れないVim初心者でも簡単にUniteのオレオレソースが作れます。
インストール
いつもどおりneobundle.vimの方法のみを記載します、が、普通にVimのフォルダにコピペしても動きます。
" neobundle.vim NeoBundle 'lambdalisue/unite-linephrase' " neobundle.vim (Lazy) NeoBundleLazy 'lambdalisue/unite-linephrase', { \ 'autoload': { \ 'unite_sources': 'linephrase', \}}
簡単なプラグインなのでUnite.vim以外の依存関係はありません。
使い方
普通に:Unite linephrase
を起動すると[[ Create a new linephrase file ]]
という項目が見えるので<CR>
(エンターキー)を押してください。
ファイル名を入力しろと言われるので適当な名前(ファイル名として使われるので使用可能な文字に制限があることをお忘れなく)を付けてやれば、新しい linephrase ファイルが作成されます(下図参照)。
ここで開いたファイルの各行がそのままUniteのソースになるので、好きなフォーマットで各行に定型文を書いていくだけでオレオレUniteソースが完成します。ただし
- 先頭行はそのファイルの説明文として扱われる
- 空白行は無視される
#
から始まる行はコメントとして扱われる!
から始まる行はその手前の行の説明分として扱われる
というルールがあります。したがって下記のようなファイルを作るとよく利用するWebサイトのURLを参照・挿入するためのUniteソースになります。
よく使うサイトのURLリスト(ここがファイルの説明として使われる) # # This is a linephrase file. All lines except the following will be included as unite candidates. # # - Empty lines # - Comment lines (a line start from #) # - Candidate description lines (a line start from !) # # Candidate description lines are used as a description of the previous candidate (optional). # https://github.com/ (これが実際にヤンクや挿入に使われる文字列) !GitHub (上の説明、無くてもOK) http://www.kawaz.org/ !Kawaz http://lambdalisue.hatenablog.com/ !はてなブログ
このように作成したソースは:Unite linephrase
にて選択できます。
また:Unite linephrase:fileA:fileB
のようにオプションとして指定すると、ファイル選択をスキップしていきなり定型文選択を起動することもできます(この場合fileA
とfileB
が指定されているので、表示される定型文は二つのファイルの内容を統合したものとなります。ファイルは何個でも指定可能)。
ファイル名などはちょっと違いますが実行イメージは下図を参照してください。
また、簡単にオレオレUniteソースが作れる利点を活用して、下図のようになかなか覚えられないVimキーバインドのチートシートとしての利用方法も考えられます。
定型文ソースの作成・編集・削除はすべてUniteソースから行えるようになっているので、普段使いが楽に出来ます。 アイディア次第で結構便利に使えると思います。よろしければ使ってみてください :-)
なお、詳細はいつもどおり:help unite-linephrase
とVimのヘルプファイルを参照してください。