プラグイン: tar80/ppm-view
説明
PPvをより便利に操作するための設定集です。様々な機能を実装しています。
- PPvのIDごとにスクリプトを常駐
- カーソル位置に応じて PPv を移動
24/9/15 トリガイベントを
KV_main:LOADEVENT
からKC_main:SELECTEVENT
に変更 - PPv の挙動を動的に変更
24/9/15 フラグ変数を
%sp
から%su
に変更し、無駄なメニューの変更抑止 - 窓数に合わせた連動ビューの制御
24/9/15 取り込み動作の最適化
- Bat を使って PPv で構文ハイライト
24/9/15 ファイルエンコーディングの判別を強化。BomなしUnicodeの遅延読み込み。
エラー出力も表示するように変更 - ラップ・最全面・透明度のトグルキー
24/9/15 ラップ実行時にファイルエンコーディングが変更される問題の解消
- ファイル内検索の強化
24/9/15 キャレットモードで検索結果にジャンプするときに単語単位でカーソル移動
- 履歴機能とブックマーク
- 数字キーでしおりにジャンプ
- URIを選択、または指定コマンドで開く
- 書庫内ドキュメントを抽出して開く
- ViLikeKeys
24/9/15 カウンタ、Visual-modeを導入
使い方
- カーソル位置に応じてPPvを移動
記事からの変更点として、起動するPPvごとに有効/無効を設定できるようになりました。
自動位置調整のトグルは*js ":%sp'workerPPv',ppx_ToggleDodge"
を実行します。
X_vpos=0、PPvの同時起動数が一枚のときのみ有効になります。
有効時はXC_main:SELECTEVENT
が設定されます。
- PPvの挙動を動的に変更
記事から大幅に変更されています。現在の隠しメニューは_User:ppmviewHMに保存されます。
無駄な読み込みを制限するようにしています。24/9/15 隠しメニュー項目が変更されているので差分を適用してください。
difftool %sgu'ppmcache'\list\HMppvDoc.cfg %sgu'ppmrepo'\ppm-view\seat\HMppvDoc.cfg
difftool %sgu'ppmcache'\list\HMppvImg.cfg %sgu'ppmrepo'\ppm-view\seat\HMppvImg.cfg
- 窓数に合わせた連動ビューの制御
PPc の窓数に合わせて、1枚なら通常起動、2枚なら*capturewindow
で反対窓に取り込みます。 その際X_win:V
を指定できますが、capturewindow取り込み時にはタイトルバーを強制offします。 また、取り込み前のサイズやXV_tmod(キャレット状態)を維持します。
連動ビュー動作例
-
Batを使ってPPvで構文ハイライト
BatとNkfを使用してファイルに構文ハイライトを適用します。
ファイルエンコードは自動判別されますがBOMなしUnicodeは判別できません。 一度ファイルを開いたあとであれば、PPvのファイル判別を利用した再読み込み時の 構文ハイライトが可能です。
引数の値によって、PPvを開いたあとに遅延実行で構文ハイライトを読み込む、 UTF-8と見做して読み込む、UTF-16LEと見做して読み込むことも可能です。BOMなしUNICODEは あまり使われることがなさそうなので、UTF-8と見做して読み込む設定か、より正確さを 求めるなら起動後遅延実行にするとよいでしょう。
エンコード自動判定key command (PPc) N ビューア拡張子判別実行 (PPv) CTRL+SHIFT+UP 前のファイル (PPv) CTRL+SHIFT+DOWN 次のファイル (PPv) F5 再読み込み (PPv) SHIFT+F5 Bat出力読み込み
-
ラップ・最全面・透明度のトグルキー
ラップ時に文字コードが変更されて文字化けする問題を解消しています。
トグル動作例key command F12 ラップトグル SHIFT+T 最全面トグル SHIFT+O 透明度二段階トグル
-
ファイル内検索の強化
カーソル下単語をハイライトする機能や、カーソル下単語を選択した状態で検索バーを 起動する機能があります。また、キャレットモードでは単語単位のカーソル移動ができます。 カーソル下単語ハイライトは検索履歴に追加することも可能です。
検索動作例key command F 後方検索 B 前方検索 * カーソル下単語検索 [ 前の候補 ] 次の候補
- URIを選択、または指定したコマンドで開く
カーソル下のURIに対してアクションを実行します。- URIを範囲選択
- URLをブラウザで開く
- FileURIをPPvで開く(またはPPcに渡す)
などのアクションを設定できます。
パスを開く動作例
-
書庫内ドキュメントを抽出して開く
シェルコマンドやライブラリなどのドキュメントはあまり見る機会がないので、 バージョンアップごとにいちいち更新するのは面倒です。が、必要になることもあるので 保存しておかないと後で探すのが手間になります。
この機能はzip書庫をまとめたバックアップディレクトリ内からテキストを抽出し、 補完候補としてPPvから選択可能にします。設定で補完リストをPPc上で開くこともできます。
補完リストの作成には多少時間がかかりますが、一度作ったあとは凡そ一日キャッシュ するので頻繁に待たされることはありません。キャッシュを更新したいときはF5
キーで可能です。
書庫ディレクトリを記述するパスリストは初回実行時は自動で、それ以降は^O
キーから編集できます。
パスリストは%sgu'ppmcache'\list\openArchDoc.txt
に作られます。
書庫内ドキュメント抽出例key command F5 補完リストを更新 CTRL+O パスリストを編集
- 栞機能を活用
Shift+[1-4]
キーで栞を登録し、[1-4]
キーでジャンプします。PPx198+3時点では、ファイル頭(行1,桁1)で登録した栞にはジャンプできないようです。
-
ViLikeKeys
PPvのキーバインドをViと似たような感じにします。
カウンタ機能(要ppm-vilikekeys)と、Visual-mode(キャレットモード)も使用できます。
文字ブロック範囲選択機能もありますが日本語は正しく選択できません。key command : コマンド入力バー G Gオペレーター SHIFT+G ファイル末に移動 H,J,K,L カーソル移動 SHIFT+H,J,K,L 画面スクロール N 次を検索 SHIFT+N 前を検索 Y Yank(キャレットモード) SHIFT+Y 行Yank(キャレットモード) V Visual-mode(キャレットモード)
Gオペレータkey command 0-9 カウンタ H,J,K,L カーソル移動 SHIFT+H,J,K,L 画面スクロール A 行頭へ移動 E 行末へ移動 F カーソル下URIをPPvで開く G ファイル頭へ移動 S カーソル下URIを範囲選択 X カーソル下URIをブラウザで開く : 最後に実行したコマンドを再実行 I 直近の括り内を範囲選択 W 単語を範囲選択 SHIFT+W 単語ブロックを範囲選択 ” ‘ ` , { [ ( < 対応する括り内を範囲選択