Skip to content
anmitsu edited this page Dec 2, 2012 · 3 revisions

マクロ

1 はじめに

pyful はファイル操作に便利なマクロ展開を実装しています。マクロは,コマンドラインや外部プロセスを生成する際に,ファイル名やディレクトリ名に展開されます。

特定の文字列に展開されるマクロの一覧を以下に示します。

マクロ名 展開される文字列
%f カーソル下のファイル名
%F カーソル下のファイルの絶対パス
%x カーソル下のファイル名(拡張子を含まない)
%X カーソル下のファイルの絶対パス(拡張子を含まない)
%d カレントディレクトリ名
%D カレントディレクトリの絶対パス
%d2 隣のディレクトリ名
%D2 隣のディレクトリの絶対パス
%m マークされたファイル名をスペースで区切った文字列
%M マークされたファイルの絶対パスをスペースで区切った文字列

また,以下に示すマクロは,実行したコマンドの振る舞いを変化させます。

マクロ名 コマンドの振る舞い
%& コマンドをシェルを通してバックグラウンドで実行する
%T コマンドを外部端末で実行する
%q コマンド実行後待たない

2 利用例

コマンドラインにおけるマクロ展開の利用例を示します。

  • Firefox を起動
    $ firefox %&
  • 新規ターミナルに w3m で google.com を開く
    $ w3m google.com %T
  • カーソル下のファイルを画像ビューア gthumb によって開く
    $ gthumb %F %&
  • マークしたファイルの文字コードを nkf によって utf-8 に変換
    $ nkf -w --overwrite %m
  • マークしたファイルの絶対パスを xsel によってクリップボードにコピー
    $ echo -n %M | xsel -q %q
  • カーソル下のzipファイルを unzip によって現在のディレクトリに展開
    $ unzip %f -d %D
  • マークされたファイルを隣のディレクトリにコピー
    $ cp -Rpd %m %D2
  • カーソル下の TeX ファイルを platex , jbibtex , dvipdfmx によってコンパイルし pdf を作成
    $ platex %x; jbibtex %x; platex %x; platex %x; dvipdfmx %x.dvi