ページ

title

告発\金沢地方検察庁\最高検察庁\法務省\石川県警察御中
弁護士と裁判官が共同で確定させた傷害・準強姦被告事件判決の再捜査要請に係る石川県警察珠洲警察署提出書面の情報公開

殺人未遂事件幇助の被告訴人: 木梨松嗣弁護士(金沢弁護士会)、岡田進弁護士(金沢弁護士会)、長谷川紘之弁護士(金沢弁護士会)、若杉幸平弁護士(金沢弁護士会)
名誉毀損罪の被告訴人: モトケンこと矢部善朗弁護士(京都弁護士会)、小倉秀夫弁護士(東京弁護士会)
市場急配センター株式会社 石川県金沢市駅西本町5丁目10番20所在
作成管理者: 石川県鳳珠郡能登町字宇出津 廣野秀樹
金沢地方検察庁御中

2020年5月22日金曜日

#### 未だに見つからないレベルに関わりなくMarkdownで見出しと本文をコピーするプラグイン,以前作成した,不完全なEmacs-Lispのコマンド

#### 未だに見つからないレベルに関わりなくMarkdownで見出しと本文をコピーするプラグイン,以前作成した,不完全なEmacs-Lispのコマンド

:CATEGORIES: Markdown,Emacs,Emacs-Lisp

 すでにご紹介しているVimエディタのVOomプラグインではレベル3までの見出しのコピー,切り取りが出来ます。Atom,SublimeText,VSCodeという多機能エディタだけではなく,その他のアプリを試しても普通に見出しのコピーが出来るものが見つからないのです。

 Markdownの見出しレベルに関わりのない現在の見出しのコピーは早い段階で,EmacsのEmacs-Lisp関数で出来るものを作っています。処理は単純で,先頭行に半角の#の記号があることが全ての条件になります。次がそのEmacs-Lispのコードになります。

```
(defun h-markdown-region-copy ()
(interactive)
(save-excursion
(let ((bsp nil) (bep nil))
(re-search-backward "^#.+" nil t)
(setq bsp (point))
(forward-line 1)
(if (re-search-forward "^#.+" nil t)
(progn
(forward-line -1)
(setq bep (point)))
(progn
(goto-char (point-max))
(setq bep (point))))
(message (format "%s TEXT copy! %s" bsp bep))
(copy-region-as-kill bsp bep)
)))
;; (defun h-markdown-region-copy ()
;; (interactive)
;; (save-excursion
;; (let ((bsp nil) (bep nil) (title nil))
;; (re-search-backward "^#.+" nil t)
;; (setq bsp (point))
;; (setq title (buffer-substring (point-at-bol) (point-at-eol)))
;; (string-match "^\\(#+\\) .+" title)
;; (setq len (length (match-string 1 title)))
;; (forward-line 1)
;; (setq p (format "^#\\\\{1,%d\\\\}? .+" len))
;; (if (re-search-forward p nil t)
;; (progn
;; (forward-line -1)
;; (setq bep (point)))
;; (progn
;; (goto-char (point-max))
;; (setq bep (point))))
;; (message (format "%s TEXT copy! %s" bsp bep))
;; (message title)
;; (copy-region-as-kill bsp bep)
;; )))
```

 コメントアウトで無効化したコードを残していますが,これは見出しのレベルを判別して下位の階層を含めてコピーしようとしたものです。つまりレベル2をコピーするとき含まれるレベル3,そのしたのレベル4もまとめてコピーしようとしたものです。

 繰り返しになりますが,これはVimエディタのVOomというプラグインを使うことで,レベル3までの階層を,その下位の階層を含めてコピー,切り取りできるようになっています。

 常に下位を含まない直近の見出しの範囲のコピーになります。間違って行頭に半角の#を置かないようにすれば問題ないのですが,これまでもプログラムのコードのコピペに,コードのコメントアウトを意味する半角の#が含まれていて,意図しない操作になることはありました。

0 件のコメント:

コメントを投稿