2013年12月14日土曜日

直上/直下のマークからカーソル位置までマーク

PPxでスクリプトを使わないとできなさそうなあふっぽいキーバインドを実現してみる。
今回は直上/直下のマークからカーソル位置までマーク。あふではCtrl+Space/Ctrl+Shift+Spaceに割り当てられている。

こんなときにキーを押せば




こうなるようにする。




やり方


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

MarkCursor.js
//!*script
// 直上のマークからカーソル位置まで全てマーク

var lastEntry,firstEntry;
lastEntry = PPx.EntryIndex;  // カーソル位置

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

// 直上にマークが無ければ終了
if (!firstEntry) PPx.Quit();

// カーソル位置までマーク
for (var i = firstEntry; i < lastEntry + 1; i++) {
  PPx.Entry(i).Mark = 1;
}

MarkCursorR.js
//!*script
// 直下のマークからカーソル位置まで全てマーク

var firstEntry,lastEntry;
firstEntry = PPx.EntryIndex;  // カーソル位置

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

// 直下にマークが無ければ終了
if (!lastEntry) PPx.Quit();

// カーソル位置までマーク
for (var i = firstEntry; i < lastEntry; i++) {
  PPx.Entry(i).Mark = 1;
}

以下を編集して取込。
KC_main = { ; PPcメイン窓
^\SPACE ,*script %0\Script\MarkCursorR.js
^' ' ,*script %0\Script\MarkCursor.js
}

これで

  • Ctrl+Space で 直上のマークからカーソル位置までマーク
  • Ctrl+Shift+Space で 直下のマークからカーソル位置までマーク

ができるようになった。


参考


0 件のコメント:

コメントを投稿