
マニュアルページを翻訳していますが、Emacsを使用する際にいくつかの問題があります。
言語はどのように指定しますか? (人の場合、スウェーデン語の
man -Lsv shutdown
「sv」サブディレクトリ(ある場合)は次のとおりです。)Emacs manモードでは、以下を使用できます。窒素または人タイトルに従って前方または後方に移動します(roffでは次のようになります。)
.SH
。ただし、ヘッダーに3つのスウェーデンの特殊文字(Å、ä、Ö)のうちの1つ(またはそれ以上)が含まれている場合、この方法は機能しません。私はそれらを脱出しても構いません(こうして\(:A
)。 (ただし正しく表示されます。)プロジェクトで何が機能しているかを確認するには、
M-x man RET ./ls.1
絶対パスを使用します。これは、「実際の」マニュアルページ(/usr/share/manのマニュアルページ)を表示するのと同じマニュアルモードであるため、非常に良いです。文書を一部変更した場合、マンページをどのように更新しますか?revert-buffer
バッファがファイルに関連付けられていないと言います。 (本当ではありませんが、わかります。)M-x load-file RET
ファイルの追跡が失われているようです。
ところで翻訳が面白いですね!
編集する:(最初のコメントを参照)
答え1
roff ソースコードを編集するときにマニュアルページモードでマニュアルページを更新する方法:
;;;; MAN / man
(defvar *curr-man* "~/mansv/ls.1")
(defun edman ()
"edit the current work-in-progress man page"
(interactive)
(find-file *curr-man*) )
(defun upman () ; edit: better version of this function below
"update the current work-in-progress man page"
(interactive)
(buffer-menu)
(revert-buffer)
(with-temp-buffer
(progn
(insert-buffer-substring "*Buffer List*")
(beginning-of-buffer)
(let ((man-buffer (format "*Man %s*" *curr-man*)))
(if (word-search-forward man-buffer (point-max) t) ; t = nil on fail
(kill-buffer man-buffer) ))
(man *curr-man*)
(edman)
(kill-buffer "*Buffer List*") )))
編集する
upman
このバージョンがもう少し安定していることを願っています。新しいグローバル変数の導入を参照してください。
(defun upman ()
"update the current work-in-progress man page"
(interactive)
(if (get-buffer *curr-man-file*) (save-buffer))
(let ((man-buffer (format "*Man %s*" *curr-man*)))
(if (get-buffer man-buffer) (kill-buffer man-buffer))
(man *curr-man*)
(edman) ))