2013年12月16日月曜日

マークファイルにカーソルを合わせる

PPxでスクリプトを使わないとできなさそうなあふっぽいキーバインドを実現してみる編その3です。
今回はマークファイルにカーソルを合わせる、です。あふだと下方向が Ctrl+: に。上方向が Shift+Ctrl+: に割り当てられてます。


以下の二つのファイルをScriptフォルダに保存。

go_mark.js
//!*script

var imark ,imark2;  // カーソル位置

// 直下のマーク位置を取得
for (var i = PPx.EntryIndex + 1; i < PPx.EntryAllCount; i++) {
  if (PPx.Entry(i).Mark == 1) {
    imark = i;
    break;
  }
}

// 最初のマーク位置を取得
for (var i = 0; i < PPx.EntryIndex; i++) {
  if (PPx.Entry(i).Mark == 1) {
    imark2 = i;
    break;
  }
}

// カーソル移動
if (imark != null){
  PPx.EntryIndex = imark;
} else if (imark2 != null) {
  PPx.EntryIndex = imark2;
} else PPx.Quit();

go_markR.js
//!*script

var imark ,imark2;  // カーソル位置

// 直上のマーク位置を取得
for (var i = PPx.EntryIndex - 1; i >= 0; i--) {
  if (PPx.Entry(i).Mark == 1) {
    imark = i;
    break;
  }
}

// 最後のマーク位置を取得
for (var i = PPx.EntryAllCount - 1; i > PPx.EntryIndex; i--) {
  if (PPx.Entry(i).Mark == 1) {
    imark2 = i;
    break;
  }
}

// カーソル移動
if (imark != null){
  PPx.EntryIndex = imark;
} else if (imark2 != null) {
  PPx.EntryIndex = imark2;
} else PPx.Quit();

以下を編集して取込。

KC_main = { ; PPcメイン窓
^V_HBA ,*script %0\Script\go_mark.js
^\V_HBA ,*script %0\Script\go_markR.js
}

PPxはマークした順番も覚えているようなので、次はマークファイルにカーソルを合わせる(マーク順)のスクリプトを作ってみようかな

0 件のコメント:

コメントを投稿