2022/08/25(木) [n年前の日記]
#1 [xyzzy] xyzzyで行結合
xyzzy 0.2.2.253 で行結合(行連結?)をしたい。ちなみに、環境は Windows10 x64 21H2。
今まで、以下で紹介されてる「セレクションを行結合(join-line)」を便利に使わせてもらっていたのだけど。
_xyzzy の音 - 編集
各行を隙間なくピッチリ結合するのがちょっとアレで。各行にスペース1文字を入れつつ結合したい…。
そんなわけで、少しだけ処理を追加して動作を変えた版を、自分用の siteinit.l に追加しておいた、とメモ。
2回目の正規表現置換時に、各行の先頭に空白1文字を入れて、3回目の正規表現で行頭の空白文字を消去してるだけ。
余談。自分の環境では、C-z j と C-z k に割り当てておいた。
今まで、以下で紹介されてる「セレクションを行結合(join-line)」を便利に使わせてもらっていたのだけど。
_xyzzy の音 - 編集
各行を隙間なくピッチリ結合するのがちょっとアレで。各行にスペース1文字を入れつつ結合したい…。
そんなわけで、少しだけ処理を追加して動作を変えた版を、自分用の siteinit.l に追加しておいた、とメモ。
(defun join-line-with-space () (interactive) (when (get-selection-type) (selection-start-end (start end) (narrow-to-region start end) (goto-char (point-min)) (replace-buffer "^[ \t]*\\(.*?\\)[ \t]*" "\\1" :regexp t) (goto-char (point-min)) (replace-buffer "^\\(.*?\\)\n" " \\1" :regexp t) (goto-char (point-min)) (replace-buffer "^[ \t]*" "" :regexp t) (widen))))
2回目の正規表現置換時に、各行の先頭に空白1文字を入れて、3回目の正規表現で行頭の空白文字を消去してるだけ。
余談。自分の環境では、C-z j と C-z k に割り当てておいた。
(global-set-key '(#\C-z #\j) 'join-line) (global-set-key '(#\C-z #\k) 'join-line-with-space)
◎ 似たような機能が既にあった。 :
上記の内容を ~/.xyzzy or siteinit.l に追加した後で、関連情報をググっていて気が付いた。emacs系エディタには、最初から delete-indentation という機能があるそうで…。M-^ に割り当てられている模様。
現在行を上の行に連結していく機能で、連結時に空白1文字も入れてくれる。キーをポンポンポンと押していくだけで上記と同じ結果を得られてしまう。
わざわざ関数を作らなくても良かったのだな…。
現在行を上の行に連結していく機能で、連結時に空白1文字も入れてくれる。キーをポンポンポンと押していくだけで上記と同じ結果を得られてしまう。
わざわざ関数を作らなくても良かったのだな…。
◎ サクラエディタの場合。 :
サクラエディタの場合、外部マクロを追加することで delete-indentation と同じ処理ができる。
_カーソル行を、上の行と行連結 - DeleteIndentation.js - Macro/投稿/198 - SakuraEditorWiki
_Macro/カテゴリ - SakuraEditorWiki
他にも気になるマクロを目にした。導入させてもらおう…。ありがたや。
_カーソル上の連続するスペース・タブを削除 - DeleteHorizontalSpace.js - Macro/投稿/197 - SakuraEditorWiki
_カーソル上の連続するスペース・タブをスペース1個にする - JustOneSpace.js - Macro/投稿/199 - SakuraEditorWiki
_カーソル行を、上の行と行連結 - DeleteIndentation.js - Macro/投稿/198 - SakuraEditorWiki
_Macro/カテゴリ - SakuraEditorWiki
他にも気になるマクロを目にした。導入させてもらおう…。ありがたや。
_カーソル上の連続するスペース・タブを削除 - DeleteHorizontalSpace.js - Macro/投稿/197 - SakuraEditorWiki
_カーソル上の連続するスペース・タブをスペース1個にする - JustOneSpace.js - Macro/投稿/199 - SakuraEditorWiki
[ ツッコむ ]
以上、1 日分です。