【さくらエディタ】キーマクロでteratermのタイムスタンプを削除する


はじめに

<バージョン>
サクラエディタ Ver. 2.2.0.1

teratermの設定で以下のように、行頭にタイムスタンプが入るようにしています。
しかし、タイムスタンプを消したい場合にいちいち手作業で消すのは面倒なので
さくらエディタのキーマクロで消す方法を考えました。

sample.txt
[Mon Mar 04 19:27:00.000 2019] [user@TEST ~]$
[Mon Mar 04 19:28:00.000 2019] [user@TEST ~]$ aaa
[Mon Mar 04 19:29:00.000 2019] [user@TEST ~]$ bbb
[Mon Mar 04 19:30:00.000 2019] [user@TEST ~]$ ccc
[Mon Mar 04 19:31:00.000 2019] [user@TEST ~]$
| ←    この間を消したい     →|

作業手順

キーマクロの記録を用いて、以下の手順を元に作業をコード化すれば
タイムスタンプを消す作業を自動化できます。
※キーボードによってコマンドが異なる場合があるので、記録する部分を手作業で
 試してからキーマクロの記録を行ってください。
 キーボードによってはHomeやEndはFnと同時押しする必要があります。

(1)タイムスタンプを消したい行の、タイムスタンプ(日時)の部分をクリック
(2)「ツール」タブ→「キーマクロの記録の開始」を選択
----------ここから記録開始----------
(3)「ctrl + shift + x」で「折り返し方法:折り返さない」に変更
(4)「ctrl + F」で検索項目に"]"を入力して「下検索」を選択
(5)→(右矢印)を2回押す
(6)「shift + F6」で矩形選択モードに変更
(7)「HOME」を押してカーソルを行頭に移動(以下の状態)

(8)「ctrl +shift + End」で最終行へ移動(以下の状態)

(9)「delete」で削除
----------記録ここまで----------
(10)「ツール」タブ→「キーマクロの記録終了」を選択
(11)「ツール」タブ→「名前を指定してマクロを実行」を選択
(12)「RecKey.mac」という名前のファイルがあるので、コピーして任意の名前に変更
  (今回は、timestamp_delete.macという名前にします)
(13)「キャンセル」で閉じる

記録したコードの確認

VBAなどのマクロの記録と違い、デフォルトで各行の右側に操作内容を記入してくれる
ので、初心者の方でも理解しやすい内容になっています。

timestamp_delete.mac
//キーボードマクロのファイル
S_TextWrapMethod(0);    // 折り返し方法
S_SearchNext(']', 28);  // 次を検索
S_Right(0); // カーソル右移動
S_Right(0); // カーソル右移動
S_BeginBoxSelect(0);    // 矩形範囲選択開始
S_GoLineTop(0); // 行頭に移動(折り返し単位)
S_GoFileEnd_Sel(0); // (選択)ファイルの最後に移動
S_Delete(0);    // 削除

動作確認

1行目のタイムスタンプの部分をクリックし、「ツール」タブ→「名前を指定してマクロを実行」
から作成したマクロを指定すると以下のようにタイムスタンプが削除されます。

sample.txt
[user@TEST ~]$
[user@TEST ~]$ aaa
[user@TEST ~]$ bbb
[user@TEST ~]$ ccc
[user@TEST ~]$