Perl::Tidy を領域またはファイル全体に適用する小さな elisp スクリプトがあります。参考までに、スクリプトは次のとおりです (EmacsWiki から借用)。
(defun perltidy-command(start end)
"The perltidy command we pass markers to."
(shell-command-on-region start
end
"perltidy"
t
t
(get-buffer-create "*Perltidy Output*")))
(defun perltidy-dwim (arg)
"Perltidy a region of the entire buffer"
(interactive "P")
(let ((point (point)) (start) (end))
(if (and mark-active transient-mark-mode)
(setq start (region-beginning)
end (region-end))
(setq start (point-min)
end (point-max)))
(perltidy-command start end)
(goto-char point)))
(global-set-key "\C-ct" 'perltidy-dwim)
現在、Windows 用の Emacs 23.1 (EmacsW32) を使用しています。私が抱えている問題は、そのスクリプトを UTF-8 でコード化されたファイル (ステータス バーの「U(Unix)」) に適用すると、出力が Latin-1 でコード化されて返されることです。 ASCII ソース文字。
それを修正する方法はありますか?
編集: (set-terminal-coding-system 'utf-8-unix)
myで使用することで問題が解決したようinit.el
です。誰でも他の解決策を持っている場合は、先に進んでそれらを書いてください!