Windows10 のセットアップ・インストール(その2) 2021年8月31日

基本設定は いんすとーるめも-6.1 にあります。

init.el 2021年9月10日修正

乱雑な init.el をほぼ*1そのまま記録として置いておく。
解説や引用抜きのほうがきれいかもしれないけど、 意味不明になりかねないので、そのまま。

参照と記述している URI は、設定当時のものであり、現在は違っているかもしれません。

ここに記述のコードを利用して、痛い目に当ってもいいという方のみ利用可 ;-)

;;;; -*- mode: lisp-interaction; syntax: elisp; coding: utf-8 -*-
;;;;
;;;; Copyright (C) 2001 The Meadow Team
 
;; Author: Koichiro Ohba <koichiro@meadowy.org>
;;      Kyotaro HORIGUCHI <horiguti@meadowy.org>
;;      Hideyuki SHIRAI <shirai@meadowy.org>
;;      KOSEKI Yoshinori <kose@meadowy.org>
;;      and The Meadow Team.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ココマデ、旧.emacs より
; 但し、1行目の「coding: iso-2022-7bit」を削った
; 「coding: utf-8」を追加 05 March 2016 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 

;04 March 2016
; from http://hawaii.naist.jp/~chihiro-o/
;======================================================================
; 言語・文字コード関連の設定
;======================================================================
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'cp932) ; 28 April 2020 for ESS
; http://zoe.hatenadiary.jp/entry/2017/11/14/222632 に従う
;(prefer-coding-system 'utf-8) ; 28 April 2020 for ESS
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)
;;
;04 March 2016 ココマデ


;25 September 2017 
; http://www.sakito.com/2009/12/emacsd.html
(let ((default-directory (expand-file-name "~/.emacs.d/site-lisp")))
  (add-to-list 'load-path default-directory)
   (if (fboundp 'normal-top-level-add-subdirs-to-load-path)
       (normal-top-level-add-subdirs-to-load-path)))
;25 September 2017  ココマデ


;05 March 2016 
;参照:http://d.hatena.ne.jp/eggtoothcroc/20130102/p1
; 半角用フォントConsolas
; 全角用フォントMeiryoKe
(set-face-attribute 'default nil :family "Consolas" :height 130)
;(set-fontset-font nil 'cp932 (font-spec :family "MS Gothic"));19 Sept 2017 
;(set-fontset-font nil 'japanese-jisx0213.2004-1 (font-spec :family "メイリオ")) ;19 Sept 2017 
;(set-fontset-font nil 'japanese-jisx0208 (font-spec :family "メイリオ")) ;19 Sept 2017 
;(setq face-font-rescale-alist '(("メイリオ" . 1.08))) ;19 Sept 2017 
;(set-fontset-font nil 'japanese-jisx0208 (font-spec :family "MeiryoKe_Console"))
;(setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.08)))
(set-fontset-font nil 'japanese-jisx0208 (font-spec :family "游ゴシック Medium"))
(setq face-font-rescale-alist '(("游ゴシック Medium" . 1.08))) 
;
;; 日本語入力
(global-set-key [M-kanji] 'ignore)
;
;05 March 2016 ココマデ


; 23February2016
;参照:https://github.com/skk-dev/ddskk/blob/master/READMEs/INSTALL.MELPA.md
;1. package.el の設定
;
;まず、package.el が、パッケージを MELPA から取得できるよう、 変数
;package-archives を設定します。~/.emacs.d/init.el に 次のとおり記載し
;てください。
;
(when (require 'package nil t)
  (add-to-list 'package-archives
    '("melpa" . "http://melpa.org/packages/") t))
 
; 05 March 2016 挿入
; これがないと package が読み込まれない(require でエラーになるときがある)
(package-initialize)
; 05 March 2016 ココマデ
 
;3. DDSKK の設定
;
;MELPA を利用してインストールした場合、make による通常のインストールと
;比べて DDSKK の実行時に leim-list.el と skk-setup.el が存在しません。
;そのため、~/.emacs.d/init.el にてキーバインドを定義する必要があります。
;
(global-set-key (kbd "C-x C-j") 'skk-mode)
;
;参照:http://qiita.com/ta2gch/items/c5c7115e0ac3f8273664
;3. .emacs か init.el にskkの設定を加えます。
(when (require 'skk nil t)
  (global-set-key (kbd "C-x j") 'skk-auto-fill-mode) ;;良い感じに改行を自動入力してくれる機能
  (setq default-input-method "japanese-skk")         ;;emacs上での日本語入力にskkをつかう
  (require 'skk-study))                              ;;変換学習機能の追加
; 23February2016 ココマデ
 
; 6 March 2016
; Large 辞書の指定
; これがないと、かなりおバカさんです……
;http://openlab.ring.gr.jp/skk/skk-manual-git/Ci-Shu-huairunoZhi-Ding-.html
;http://quruli.ivory.ne.jp/document/ddskk_14.2/skk_2.html
(setq skk-large-jisyo "~/.emacs.d/SKK-JISYO.L")  
; End of 6 March 2016
 
; 24February2016
; マウスカーソルを右上によける
;参照:http://www4.kcn.ne.jp/~boochang/emacs/tips.html#mouse-avoid
(mouse-avoidance-mode)
; 24February2016 ココマデ
 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 以下、旧.emacs より(再び)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
;; 初期フレームの設定
(setq default-frame-alist
      (append (list '(foreground-color . "black")
		    '(background-color . "LemonChiffon")
		    '(background-color . "gray")
		    '(border-color . "black")
		    '(mouse-color . "white")
		    '(cursor-color . "black")
		    '(top . 70) ;24 February 2016
		    '(left . 500)) ; 22 Mar 2010
	      default-frame-alist))
 
;03 September 1998
;from http://park.coconet.or.jp/ando/work/yatex/go.html
;$Lastupdate: Thu Jan 18 01:44:15 2001 $
;$Date: Wed Sep  1 17:22:36 2021 $
; Date に変更 19 April 2001 
;のような最終更新日を入れるには、
;.emacs に以下のような文を入れます。 
 (defun save-buffer-wrapper ()
    (interactive)
    (let ((tostr (concat "$Date: " (current-time-string) " $")))
      (save-excursion
        (goto-char (point-min))
        (while (re-search-forward
                "\\$Date\\([A-Za-z0-9: ]*\\)?\\$" nil t)
          (replace-match tostr nil t)))
      (save-buffer)))
 
  (global-set-key "\C-x\C-s" 'save-buffer-wrapper)
;これで完成です。その後、テキストなどに、
;$Lastupdate: Thu Jan 18 01:44:15 2001 $
;とか書いておいて、C-x C-s (つまりセーブ)すれば勝手に書き変わります。
;この技は、HTML 以外のプログラムや、 テキストにも使えるので結構便利です。 
 
(setenv "TMP" "c:/cygwin64/tmp") ; 05 March 2016
 
;;; 最終更新日の自動挿入
;;;   ファイルの先頭から 8 行以内に Time-stamp: <> または
;;;   Time-stamp: " " と書いてあれば、セーブ時に自動的に日付が挿入されます
(if (not (memq 'time-stamp write-file-hooks))
    (setq write-file-hooks
          (cons 'time-stamp write-file-hooks)))
 

; 20 April 2001
; from http://faq.meadowy.org/meadow/FAQ-Meadow-ja.html
;バッファの最後で next-line を実行しても、 新しい行が挿入されないよう
;にして欲しいのですが。
(setq next-line-add-newlines nil)
;を .emacs に書いて下さい。
 
; 24 February 2003
; 参照:http://www.yatex.org/info/yatexj.html
; 野鳥起動のための設定
; ~/.emacsに下の2項目を加えます。
(setq auto-mode-alist
      (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
 
; 24 February 2003
; 参照:http://www.gentei.org/~yuuji/bin/info2www.cgi?(yahtmlj)yahtml
; yahtml起動のための設定
; ======================
; `~/.emacs'に下の2項目を加えます。
; comment out BEGIN 24 February 2016
;     (setq auto-mode-alist
;           (cons (cons "\\.html$" 'yahtml-mode) auto-mode-alist)) 
; comment out END 24 February 2016
     (autoload 'yahtml-mode "yahtml" "Yet Another HTML mode" t)
 
; 参照:https://www.gfd-dennou.org/arch/morikawa/memo/yahtml.txt
; 24 February 2016
(setq auto-mode-alist (cons '("\\.html?$" . yahtml-mode) auto-mode-alist))
; End of 24 February 2016
 
; 24 February 2003
; 参照:http://meadow-faq.sourceforge.net/meadow-faq-ja_4.html#SEC60
;  4.3 どうすれば対応する括弧をハイライトする事ができますか?
(show-paren-mode 1)
; を `.emacs' に書いて下さい。 
;
; 4.8 インデント時に、自動的に前の行と同じインデントになるようにするに
; は、 どうしたらいいのでしょうか?
(setq indent-line-function
      'indent-relative-maybe)
; を `.emacs' に入れて下さい。そうすれば、indent-line-function を再バ
; インドしないモードでは、C-j で前の行と同じインデントにする事 ができ
; ます。
 

; 19 Sep 2007
; 参照:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Aspell
;設定ファイルに
;
(setq-default ispell-program-name "aspell") 
;
;と1行書けばとりあえず使えます。
;
;日本語混じりの TeX 文書のスペルをチェックしたい場合には、qa:3898 にある通り、
;
(eval-after-load "ispell"
 '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
;
;も追加します。
 

;; 05 January 2005
; 参照:http://www.annie.ne.jp/~y-oka/pc/meadow/w3m.html
;emacs-w3m の install
;※Meadow2 をnetinstallしている場合、defaultで site-lisp に w3m がある
;ので、installは不要で、設定のみ行えばよい。
 
(autoload 'w3m "w3m" "Interface for w3m on Emacs." t)
(autoload 'w3m-find-file "w3m" "w3m interface function for local file." t)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
(autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGINE." t)
(autoload 'w3m-weather "w3m-weather" "Display weather report." t)
(autoload 'w3m-antenna "w3m-antenna" "Report chenge of WEB sites." t)
 
(add-hook 'w3m-mode-hook
	  '(lambda ()
	     (set-face-foreground 'w3m-anchor-face "DodgerBlue")
	     (set-face-foreground 'w3m-arrived-anchor-face "SteelBlue")
;	      (set-face-foreground 'w3m-bitmap-image-face "")
;	      (set-face-foreground 'w3m-bold-face "")
;	      (set-face-foreground 'w3m-current-anchor-face "")
;	      (set-face-foreground 'w3m-form-face "")
;	      (set-face-foreground 'w3m-header-line-location-content-face "")
;	      (set-face-foreground 'w3m-header-line-location-title-face "")
;	      (set-face-foreground 'w3m-history-current-url-face "")
;	      (set-face-foreground 'w3m-image-face "")
;	      (set-face-foreground 'w3m-underline-face "")
	     ))
;;;
 
(global-set-key "\C-cmw" 'w3m)
 
;w3mのinfoより
;   * Q. Cookie が必要なページを閲覧できません。
;
;     (まだ実験的な機能です。)
;
;     変数 `w3m-use-cookies' に `nil' 以外の値が設定されていることを確
;     認して下さい。
(setq w3m-use-cookies t)
 
;   * dired
;`dired' のバッファで `C-x m' キーをタイプすることによって、
;emacs-w3m を使って HTML ファイルを閲覧することができます。
;`~/.emacs' ファイルで、以下の設定を使って下さい:
;
(eval-after-load "dired"
  '(define-key dired-mode-map "\C-xm" 'dired-w3m-find-file))
 
(defun dired-w3m-find-file ()
  (interactive)
  (require 'w3m)
  (let ((file (dired-get-filename)))
    (if (y-or-n-p (format "Use emacs-w3m to browse %s? "
                          (file-name-nondirectory file)))
        (w3m-find-file file))))
 
; ESS (Emacs Speaks Statistics)  29 April 2005
(require 'ess-site)
 

; 25 Sep 2007
; 参照:http://vega.ess.sci.osaka-u.ac.jp/~fujita/tips/application.htm
;タイトルバーにファイル名を表示
(setq frame-title-format "%b")
;と .emacs に記入。

; 26 Oct 2008
; 以上の修正をしたbf-mode.el を c:\Meadow\site-lisp に置く
;
; http://email.esm.psu.edu/pipermail/macosx-emacs/2008-March/000356.html
; に従って、
(require 'dired)
; を (require 'bf-mode) の前に書く
; そうしないと
; Symbol's value as variable is void: dired-mode-map
; のエラーが出る
;

(require 'bf-mode) ; 09 September 2021 もう一度使うことにした

;; browsable file size maximum
(setq bf-mode-browsing-size 10000) ;; killo bytes ; 09 September 2021

;; html は w3m で表示する
;; browsing htmls with w3m (needs emacs-w3m.el and w3m) ; bf-mode-readme.txt より英語のヘッダ 10 September 2021
(setq bf-mode-html-with-w3m t)
;; 圧縮されたファイルを表示
;; browsing archive file (contents listing) verbosely ; bf-mode-readme.txt より英語のヘッダ 10 September 2021
(setq bf-mode-archive-list-verbose t)
;; ディレクトリ内のファイル一覧を表示
;; browsing archive file (contents listing) verbosely ; bf-mode-readme.txt より英語のヘッダ 10 September 2021
(setq bf-mode-directory-list-verbose t)
;
; xdoc2txt のインストール & bf-mode.elの設定ここまで
;
; 圧縮されたファイルを直接編集
; http://www.bookshelf.jp/soft/meadow_23.html#SEC236
; に従う
(auto-compression-mode)
;
; 参照:http://cgi.netlaputa.ne.jp/~kose/diary/?0301
;auto-compression-mode を ON にしているので *.zip ファイルを開くと一覧
;表示になる。しかしその中のファイルを見ようと(v)すると「pkunzip がない」
;と言われる。 Cygwin の unzip は入れてあるんだから....、そっか
(setq archive-zip-use-pkzip nil)
;ならいいのか。Windows なら問答無用で t にしているので「pkunzip がない」なんだな。 
 
; End of 26 Oct 2008 
 
; 10 September 2021
; xdoc2txt のモードを pdftotext 用に上書きし、dired の bf-mode で、 
; PDFファイルをチラ見できるようにする
; bf-mode が定義した変数の値を変更する
; 本当の bf-mode が定義した関数を (require 'dired) の後に意図的に上書きする

(setq bf-mode-xdoc2txt-exts '("\\.pdf"))

(defun bf-mode-browse-xdoc2txt (filename)
  (kill-buffer bf-mode-current-browsing-buffer)
   (let ((dummy-buff (generate-new-buffer (concat "bf:"
                                                 (file-name-nondirectory
                                                  filename)))))
    (set-buffer dummy-buff)
    (let ((fn (concat
               (expand-file-name
                (make-temp-name "xdoc2")
                temporary-file-directory)
               "."
               (file-name-extension filename)))
          (str nil))
      (copy-file filename fn t)
      (insert
       "pdftotext FILE: " (file-name-nondirectory filename) "\n"
;       "XDOC2TXT FILE: " (file-name-nondirectory filename) "\n"
       "----------------------------------------------------\n"
       (shell-command-to-string
        (concat
         "pdftotext " fn " - "))) ; pdftotext の出力を stdout にして対処
;         "xdoc2txt" " -e " fn)))
      (goto-char (point-min))
      (while (re-search-forward "\r" nil t)
        (delete-region (match-beginning 0)
                       (match-end 0)))
      (goto-char (point-min))
      (while (re-search-forward "\\([\n ]+\\)\n[ ]*\n" nil t)
        (delete-region (match-beginning 1)
                       (match-end 1)))
      (delete-file fn))
    (setq buffer-read-only t)
    (set-window-buffer (selected-window) dummy-buff))
  (bf-mode-set-window-start-line 1))

; End of 10 September 2021


; 23 May 2012
;
;参照:http://comments.gmane.org/gmane.mail.mew.general.japanese/6852
;Hideyuki SHIRAI | 9 Jun 08:19
;[mew-dist 28496] Re: 時間の表示
;
;白井です。
;
;From: Toshiya Nakamura <nakamt <at> chofu.jaxa.jp> さん曰く
;Subject: [mew-dist 28495] 時間の表示
;Message-ID: <20080609.151250.186997213.nakamt <at> chofu.jaxa.jp>
;Date: Mon, 09 Jun 2008 15:12:50 +0900	(東京 (標準時))
;
;> Mew6に変更したところ、Mewで送ったメールの送信日時が
;> Date: Mon, 09 Jun 2008 14:29:16 +0900 (東京 (標準時))
;> といった具合になって相手に届くようになりました。
;
;環境変数 "TZ" に "JST-9" を設定してください。
;
;~/.emacs や ~/.mew で設定するなら
(setenv "TZ" "JST-9")
;で OK です。
;
;> (以前は(LMT)となっていました。)
;
;# それはそれで問題だったのだけど :-)
;
; End of 23 May 2012
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ココマデ 旧.emacs より
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; whitespace-mode 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 24 February 2016
; jaspacemode の代替として
; emacs 24 ではデフォルトで入っている
; 参照:https://www.emacswiki.org/emacs/WhiteSpace
;To use WhiteSpace, insert in your ~/.emacs:
;
(require 'whitespace)
;
; End of 24 February 2016
;
; 05 March 2016
; 参照:http://d.hatena.ne.jp/t_ume_tky/20120906/1346943019
(setq whitespace-style 
      '(face tabs tab-mark spaces space-mark newline newline-mark))
;
(setq whitespace-display-mappings
      '(
;        (space-mark ?\u3000 [?□])  ; 全角スペース
        (space-mark ?\u3000 [?□ ?□])  ; 全角スペース emacs の East Asian Ambiguous Width への対応として 01 September 2021
        (space-mark ?\u0020 [?\xB7])  ; 半角スペース
        (newline-mark ?\n   [?$ ?\n]) ; 改行記号
;ココダケ挿入 05 March 2015
; 参照:http://keisanbutsuriya.hateblo.jp/entry/2015/02/03/153149
        (tab-mark ?\t [?\u00BB ?\t] [?\\ ?\t]) ; タブ記号
;ココダケ挿入 05 March 2015 ココマデ
        ) )
;
(setq whitespace-space-regexp "\\([\x0020\x3000]+\\)" )
;正規表現に関する文書。 Emacs Lispには、正規表現リテラルがないことへの言及
;http://www.mew.org/~kazu/doc/elisp/regexp.html
;
;なぜか、全体をグループ化 \(\) しておかないと、うまくマッチしなかった罠
;
;(set-face-foreground 'whitespace-space "blue")
(set-face-background 'whitespace-space 'nil)
;(set-face-bold-p 'whitespace-space t)
;
;(set-face-foreground 'whitespace-newline  "DimGray")
(set-face-background 'whitespace-newline 'nil)
;
;
; コレ↓は独自に
(set-face-background 'whitespace-tab 'nil)
; End of 05 March 2016
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End of whitespace-mode 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; いろいろ 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
; 25 February 2016
; 参照:http://www.cozmixng.org/~kou/emacs/dot_emacs
;;; ツールバーを消す
(tool-bar-mode 0)
;
;;; カーソルの点滅を止める
(blink-cursor-mode 0)
;
;;; 画像ファイルを表示する
(auto-image-file-mode t)
;
; End of 25 February 2016
 
; 06 March 2016
;参照:https://github.com/clear-code/emacs.d/blob/master/init.el
;; Emacs 24ではデフォルトで有効になっていて、`partial-completion-mode'は
;; なくなっている。カスタマイズする場合は以下の変数を変更する。
;;   * `completion-styles'
;;   * `completion-pcm-complete-word-inserts-delimiters'
(if (fboundp 'partial-completion-mode)
    (partial-completion-mode t))
;; 補完可能なものを随時表示
;
; whitespace-mode を打ち込むのが面倒なので入れた
;
;参照:http://www.cozmixng.org/~kou/emacs/dot_emacs
;;; 最近使ったファイルを保存(M-x recentf-open-filesで開く)
(recentf-mode)
 

;参照:http://kaworu.jpn.org/kaworu/2008-06-27-1.php
;.emacsの設定ファイルに display-time と書きます。
;$HOME/.emacs
(display-time)
;
;下記設定をすることで、日付と曜日を出すことができます。
;(setq display-time-day-and-date t)
;フォーマットを変更することもできます。
;(setq display-time-string-forms
; '((format "%s/%s(%s)%s:%s"
;		 month day dayname
;		 24-hours minutes
;   )))
;
; を見習って修正
(setq display-time-string-forms
 '((format "%s-%s-%s %s %s:%s"
		 year month day dayname
		 24-hours minutes
 )))
;
; 時刻が変わらないと反映されない仕様(?)のようで、emacs起動後、1分
; 間くらいは 12:34午前 のような、デフォルトの表示のままになる。
; month day を常に2桁にして、ゼロを左に埋めるようにしようといくらか試
; してみたが、挫折した。
 
;参照:http://www.math.s.chiba-u.ac.jp/~matsu/emacs/emacs21/dired.html
;SKK 使いの人への注意: dired-x を load すると、通常 skk の起動キーに使
;われている C-x C-j が dired-jump に奪われてしまいます。 これを避ける
;には、フックを使って
;
(add-hook 'dired-load-hook
          (lambda ()
            (load "dired-x")
            (global-set-key "\C-x\C-j" 'skk-mode)
            ))
;
;みたいに書いておくと良いです。 後で説明するように、ここには他にもいろ
;いろ設定をすると嬉しいことがあるかもしれません。
;
; ↑は、(require 'dired-x) を(先に)してはいけないので注意!
; 一度失敗した……。
;
;参照:https://github.com/clear-code/emacs.d/blob/master/init.el
;;; ディレクトリ
;; diredから"r"でファイル名をインライン編集する
(require 'wdired)
(define-key dired-mode-map "r" 'wdired-change-to-wdired-mode)
;
;;; バッファ名
;; ファイル名が重複していたらディレクトリ名を追加する。
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
;
; End of 06 March 2016
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End of いろいろ 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; migemo 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 28 February 2016
;
;- http://grugrut.hatenablog.jp/entry/2015/04/emacs-migemo-on-windows
;  に従い、
;  http://www.kaoriya.net/software/cmigemo/
;  から windows バイナリをダウンロード
;  user/local/bin に置く(ディレクトリ cmigemo-default-win64)
;- windows の環境変数の path に
;C:\cygwin64\usr\local\bin\cmigemo-default-win64
;を追加する
;
;http://grugrut.hatenablog.jp/entry/2015/04/emacs-migemo-on-windows
(require 'migemo)
(setq migemo-dictionary "c:/cygwin64/usr/local/bin/cmigemo-default-win64/dict/utf-8/migemo-dict")
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-coding-system 'utf-8-unix)
(load-library "migemo")
(migemo-init)
;
; End of 28 February 2016
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End of migemo 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 印刷設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;ps-print を使い、ghostscript → GSView で印刷する設定はできた。しか
;し!、mew を起動すると、メールだけではなく、普通のテキストファイルも
;化けてしまうことがわかった。対応策が作れなかった。そこで、退行的対策
;を行った(3月4日)。mew のミニマム設定でも上手くいかないので、
;Notepad に送り込むようにした。印刷は頻繁ではないので、ま、いっか、と
;する。
; mew の設定(.mew.el)も変え、#で、ps-print-buffer ではなく、
; print-buffer が動くようにした。
;
;04 March 2016 
;参照:http://d.hatena.ne.jp/tunefs/20060501/p2
;2006-05-01
;NTEmacsからnotepadを使って印刷
;
;Meadowの設定例を参考に、
;
;    プリンタドライバで2in1などを行いため、いきなり印刷しない(/pオプションを取る)
;    同期(call-process)だと、notepad起動中emacsが操作できなくなるので、
;    非同期(start-process)にしたい
;
;という変更を加えてみた。
;
(setq print-region-function
      (lambda (start end
                     &optional lpr-prog
                     delete-text buf display
                     &rest rest)
        (let* ((procname (make-temp-name "w32-print-"))
               (tempfile
                (subst-char-in-string
                 ?/ ?\\
                 (expand-file-name procname temporary-file-directory)))
               (coding-system-for-write 'sjis-dos))
          (write-region start end tempfile)
          (set-process-sentinel
           (start-process procname nil "notepad.exe" tempfile)
           (lambda (process event)
             (let ((tempfile
                    (expand-file-name (process-name process)
                                      temporary-file-directory)))
               (when (file-exists-p tempfile)
                 (delete-file tempfile))))))))
;
; 04 March 2016 ココマデ
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End of 印刷設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 

; メール関係新規 
; 28 February 2016
;
;参照:http://www.mew.org/ja/info/release/mew_1.html
;
;1.5 初期設定
;
;Mew を起動するには、組織の設定ファイルか自分の "~/.emacs" に以下の設定 が必要です。
;
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
;
;28 February 2016 ココマデ
; メール関係新規 END

;21 September 2017 ココカラ
;(add-to-list 'load-path "~/.emacs.d/site-lisp")
;((require 'eaw)
;((eaw-fullwidth)
;emacs25ではうまくいかなかった
;21 September 2017 ココマデ

; 31 August 2021 
; Windowsバイナリの emacs25 では、「East Asian Ambiguous Width」の
; 問題((UTF-8で指定されている文字コードの一部が全角で表示されるか、半角で表示されるかが「曖昧」なため、一部の文字で不具合が生じる。具体的には「●」「○」「…」などが半角のサイズで表示されてしまう。ブラウザはそうなって来ている気がする))が
; どうしても解決できなかった。そこで、前のマシンでは emacs24を使っていたのですが、なんと!~
; HAMANO Tsukasa さんが、locale-eaw というものをメンテナンスし
; て下さっている。https://github.com/hamano/locale-eaw~
; https://github.com/hamano/locale-eaw/blob/master/README.md によると、
; 「emacsで曖昧な文字幅を全角にする」ようにできる。
; 
; そこで、これに従い、~
; 1. [[eaw.el>https://raw.githubusercontent.com/hamano/locale-eaw/master/eaw.el]] を ~/.emacs.d/site-lisp/ に配置~
; 2. ~/.emacs.d/init.el に以下を設定~
 (add-to-list 'load-path "~/.emacs.d/site-lisp")
 (require 'eaw)
 (eaw-fullwidth)
; とした。
;
; 実は2017年に試したときから何も変わっていないことに気付く
; しかし、なぜか今回はこれでいいような気がしてきた
; 2021年9月1日追記
;
; End of 31 August 2021 

; 21 September 2017 ココカラ
; https://uwabami.github.io/cc-env/Emacs.html
;
; yes or no を y or n に
(fset 'yes-or-no-p 'y-or-n-p)
;
;  "「"を入力したら"」"も自動で挿入
(setq skk-auto-insert-paren t)
; 
; 句読点変換ルール
; (setq skk-kuten-touten-alist
;       '(
;         (jp    . ("。" . "、"))
;         (en-jp . ("." . ","))
;         (en    . (". " . ", "))
;         ))
; (setq-default skk-kutouten-type 'en)
; 
; 全角記号の変換: @ での日付入力は使わない
(setq skk-rom-kana-rule-list
      (append skk-rom-kana-rule-list
              '(("!" nil "!")
                (":" nil ":")
                (";" nil ";")
                ("?" nil "?")
                ("z " nil " ")
                ("\\" nil "\\")
                ("@" nil "@")
                )))
; 
; 送り仮名が厳密に正しい候補を優先
(setq skk-henkan-strict-okuri-precedence t)
; 
; 21 September 2017 ココマデ


; 25 June 2021
; https://emacs.stackexchange.com/questions/42537/ess-r-error-searching-for-program
; It's no longer required to use Rterm.exe; you can just use R.exe
; directly. To configure the program name that emacs/ESS uses, set the
; variable in your .emacs like this:
; (setq inferior-ess-r-program "R")
;
; Alternatively, press C-h v, select the inferior-ess-r-program
; variable, and use the Customize interface to set and save the
; setting.
; 
; If you don't have the Windows Path set correctly to include the
; R/bin folder, you can specify the full path in the setting.
;(setq inferior-ess-r-program "C:/Program Files/R/R-4.1.0/bin/R.exe")


; End of 25 June 2021


;; このファイルに間違いがあった場合に全てを無効にします
(put 'eval-expression 'disabled nil)
 
;;;
;;; end of file
;;;
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages '(migemo mew ess ddskk bf-mode)))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

.mew.el

設定はしているものの動かなかったりするのだけれども(悔しい……)、 ほぼそのまま載せます。

こちらこそ、ここに記述のコードを利用して、 痛い目に当ってもいいという方のみ利用可 ;-)

参照がないもので、いかにもどこかから頂いて来た、という文面は Mew のマニュアルから

注意!:2018年6月11日追記

mew-pop-delete を nil として、 POP サーバにあるメッセージを削除しない設定にした場合、 POP サーバに残っているメッセージが多くなると、 または、ヘンなメッセージがあると、 time out エラーになり、メッセージが取得できなくなることがある。
サーバのメールはマメにクリヤする必要あり。
設定ではなく運用での注意。

;Mew は起動時に、"~/.mew.el" を読み込みます。Mew に関する設定は、この
;ファイルに入れるとよいでしょう。

; Comment out 06 March 2016
; init.el に設定ありのため
;
;(autoload 'mew "mew" nil t)
;(autoload 'mew-send "mew" nil t)
;(autoload 'mew-user-agent-compose "mew" nil t)
;
; End of Comment out 06 March 2016
;
;; Optional setup (e.g. C-xm for sending a message):
(if (boundp 'mail-user-agent)
    (setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
    (define-mail-user-agent
      'mew-user-agent
      'mew-user-agent-compose
      'mew-draft-send-letter
      'mew-draft-kill
      'mew-send-hook))


;; 07 January 2005
;`mew-config-alist' で設定できるキーのほとんどは、`mew-"キー"' という
;変数に対応しています。以下に設定できる項目を列挙します。
;     "name", "user", "mail-domain",
;     "cc", "fcc", "dcc", "reply-to", "organization", "header-alist",
;     "proto",
;     "smtp-server", "smtp-port", "smtp-ssh-server", "smtp-ssl", "smtp-ssl-port",

; 04 January 2005
;;; Mew Easy Settings (generated automatically)
;; configuration
(setq mew-config-alist
    '(("default"
       ("name"        . "TOMARU Masatoshi")
       ("user"        . "******")
       ("mail-domain" . "kit.jp")
       ("smtp-server" .  "localhost") ; 06 March 2016
       ("smtp-user" .  "tomaru") ; 06 March 2016
       ("pop-proxy-server"  . "localhost") ; 06 Sep 2007
       ("pop-proxy-port" . "10110") ; 06 Sep 2007
       ("pop-user"    . "******")
       ("pop-auth" . pass)  ; 05 January 2005  ; 06 March 2016
       ("dcc" . "******@kit.jp")  ; 06 March 2016
       )
       ))

;1. パスワードをメモリに一時的に蓄える。ファイルには書き出さない。
;1. の機能を利用するには、以下のように設定します。
;
(setq mew-use-cached-passwd t)
;
;1. の機能:あらゆるパスワード(POP、PGP など)が一時的にメモリに保存さ
;れます。パスワードが保存されている間は、パスワードの入力を省略できま
;す。 保存されているパスワードは一定時間(通常は 20 分)が過ぎると消去さ
;れます。 ただし、保存されているパスワードが内部で利用されると、保存期
;間が延長されます(20 分に戻ります)。


; 4.1 未読 `U'
;
;以下のように設定すると、メッセージを一覧表示する際に、未読マーク `U' 
;がメッセージに付きます。
;
(setq mew-use-unread-mark t)

;マークを付けることで移動した際に、`U' マークを消したくないのであれば、
;以下のように設定するとよいでしょう。
;
(setq mew-delete-unread-mark-by-mark nil)

; 10.2 Message mode
;
;利用する Text/Html 用の外部アプリケーションは、 
;`mew-prog-text/html-ext' に指定します。以下は、"mozilla" に設定してい
;る例です。(必要であれば、アプリケーションの引数を 
;`mew-prog-text/html-ext-arg' に設定して下さい。)
;
;  
;
;(setq mew-prog-text/html-ext "mozilla")
;
;"w3m" と "emacs-w3m" をインストールすると、Text/Html を Message モー
;ドに表示できるようになります。(以下で説明する "wvHtml"、"xlhtml"、
;"ppthtml" は、単なる "w3m" ではなく、国際化された "w3m-m17n" が必要で
;す。) 両者をインストールしたら、"~/.mew.el" に以下の設定を加えて下さ
;い。
;
;  
;
(condition-case nil
    (require 'mew-w3m)
  (file-error nil))


;`mew-pop-delete'
; POP サーバからメッセージを取得後、POP サーバにあるメッセージを削除す
;るか否か。`t' なら削除。`nil' なら削除しない。数値 N なら、最初のアク
;セスから N 日後に削除する。初期値は `t'。

(setq mew-pop-delete nil)  ; 05 January 2005

(setq mew-pop-size 0)  ; 09 November 2010 マシンが速くなったので上限撤廃

;`mew-pop-size'
; POP サーバから取得するメッセージの大きさの上限。初期値は 55296 バイ
;ト。0 に設定すると、上限なしの意味になり、すべてのメッセージを取得す
;る。上限に引っ掛かったメッセージの全体を取得する方法については、See
;section 2.5 メッセージの取得 を参照のこと。
;`mew-pop-body-lines'
; 大きさの上限にひっかかったメッセージの本文を何行取得するかという値。
;デフォルトは40。
;`mew-pop-header-only'
; POP でメッセージを取得する際に、ヘッダのみにするか、本文も取得するか。 
;`nil' でなければ、ヘッダのみを取得。デフォルトは `nil'。

;;  以下は mew.dot.mew より
;;; A sample file of .mew.el
;; 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Printing Message mode to your PS printer
;;;
(setq mew-print-function 'ps-print-buffer)
;(setq ps-multibyte-buffer 'non-latin-printer) ;; for Japanese
(setq ps-multibyte-buffer 'bdf-font-except-latin) ; 20 September 2007
;(setq ps-print-header nil) ; 20 September 2007 Comment out

;; 01 November 2007
;; Info より
; たとえば、US-ASCII と ISO-2022-JP 以外の文字コードが選ばれた場合確認し
; たいのであれば、以下のように設定して下さい。
; 
(setq mew-ask-charset '("us-ascii" "iso-2022-jp"))
; 
; こう設定しているとき、たとえば "utf-8" が選択されると、以下のように訊か
; れます。
; 
;      utf-8 is used. OK? (y or n)
; 
; `y' を押すと、メッセージが送信されます(あるいは、キューに溜ります)。
; `n' を押すと、草稿が元の状態に戻ります。Typing `y' makes the composed
; message sent (or queued). If you type `n', you will go back to the
; original draft.


; 28 February 2016
;http://beectl.exblog.jp/tags/NTEmacs/
;fiber.exe ではなく cygstart を使うように Mew を調教することにし
;た。.mew.el に以下を書く。
; use cygstart rather than fiber.exe
(setq mew-w32-exec "cygstart")
(setq mew-prog-text/html-ext "cygstart.exe")


;04 March 2016
;
;Summary モードで ‘#’ と押すと、現在のメッセージを印刷できます。印
;刷に利用する関数は ‘mew-print-function’ で定義します。初期値は、
;‘ps-print-buffer’ ですから、PostScript に変換されて印刷されます。
;自分の作成した関数を利用するには、以下のように設定します。
;
(setq mew-print-function 'print-buffer)
;

; 07 March 2016
; http://www.wikihouse.com/mew/index.php?cmd=read&page=Mew4FAQ&word=bsfilter
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; bsfilter 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 新たに入れ直す
; .mewの設定 for Mew5
;(setq mew-pop-proxy-server "localhost")
;(setq mew-pop-proxy-port  "10110")
(defun mew-bsfilter (val)
   (let ((case-fold-search t))
;      (if (string-match "yes" val) "+spam"))) ; comment out 11 March 2016
      (if (string-match "yes" val) ?D))) ; 11 March 2016
; ↑は http://homepage3.nifty.com/peterpan/Email/installing-bsfilter/index.htmlを参考にした
(setq mew-spam: "X-Spam-Flag:")
(setq mew-inbox-action-alist
      '(("X-Spam-Flag:" mew-bsfilter)))


; 11 March 2016追加
; 
; 学習させるとき、spam filter と してbsfilter が指定されていないような
; 気がしたので追加してみた。
; 
; mew-vas.el には
; (defcustom mew-spam-prog "bogofilter"
;   "*A command which learns spams."
;   :group 'mew-summary
;   :type 'string)
; とあり、デフォルトでは bogofilter。
; 明示的に指定する必要ありと感じた次第。
; .mew.el の中身は ↓ をコピーした 
; http://homepage3.nifty.com/peterpan/Email/installing-bsfilter/index.html
; 
; for "ls" (learn-spam)
(setq mew-spam-prog "bsfilter")
(setq mew-spam-prog-args '("-C" "-s" "-u"))
; 
; for "lh" (learn-ham)
(setq mew-ham-prog "bsfilter")
(setq mew-ham-prog-args '("-c" "-S" "-u"))
; 
; この追加をしたら、ls の後に、"Learned" が出るようになった。
; ということは、これまでは学習していなかったことになる。
; Learned が出ても間違いかもしれないけれど、出なかったのは
; bsfilter から返事がなかったことは確定的だ。
; 
;11 March 2016追加 ココマデ

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; End of bsfilter 設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


; MLからの接頭文字列を抑制したいのですが。 †
;
;
; [Q] Summaryバッファに本文が表示されるようになったので、MLの[mew-dist
; xxxx]というSubject:の接頭文字列は,Subject:表示領域の大半を占めて嫌
; です。
; [A] mew-summary-form-listをカスタマイズします。[mew-dist 23370](改)
;
(setq mew-summary-form-body-starter "|")
(setq mew-summary-form-list
      `(("[+]??(draft??|queue??|postq??)"
         (type (5 date) " " (14 from) " " t (26 subj)
          ,mew-summary-form-body-starter (0 body)))
        (t
         (type (5 date) " " (14 from) " " t (26 my-subj)
          ,mew-summary-form-body-starter (0 body)))))
(defun mew-summary-form-my-subj ()
  "A function to return simplified Subject:."
  (let ((subj (mew-summary-form-subj)))
    ;; remove ML label
    (while (string-match "^??(Re: *??)*??([[(][a-zA-Z0-9._-]+[ :,][0-9]+[])] *??)" subj)
      (setq subj (concat (substring subj 0 (match-beginning 2))
                         (substring subj (match-end 2)))))
    ;; remove Re: Re: ...
    (while (string-match "^??(Re: *??)??(Re: *??)+" subj)
      (setq subj (concat (substring subj 0 (match-beginning 2))
                         (substring subj (match-end 2)))))
    ;; remove (was...)
    (while (string-match (concat "^.*??(" mew-was-regex "??)") subj)
      (setq subj (substring subj 0 (match-beginning 1))))
    subj))
;
;
;Messageバッファに表示されるヘッダを減らしたい †
;
; [Q] 最近M$系のUAが付加していると思われる、Thread-ほげ なるヘッダを
; Messageバッファから消したい。
; [A] mew-field-specにこれらのヘッダ情報を追加して「非表示」設定にすれば見えなくなり(上に隠れ)ます。
;(mew-dist 11406参照)
(mew-insert-after mew-field-spec '("^Thread-" nil) "^Status:$")
(mew-insert-after mew-field-spec '("^Importance" nil) "^Status:$")
;
; End of 07 March 2016

; 24, 25 & 27 August 2021
; Evolve
(mew-insert-after mew-field-spec '("^IronPort-" nil) "^Status:$")
; Google groups
(mew-insert-after mew-field-spec '("^ARC-" nil) "^Status:$")
(mew-insert-after mew-field-spec '("^Received-SPF" nil) "^Status:$")
(mew-insert-after mew-field-spec '("^Mailing-list" nil) "^Status:$")
; Jfly
(mew-insert-after mew-field-spec '("^DKIM-Filter" nil) "^Status:$")
; End of 24, 25 & 27 August 2021


; 09 March 2016
; ‘mew-ask-subject’ を ‘t’ にしておけば、Subject: が空のときに値
; を尋ねてくれます。空のままにしたい場合は単純に ‘RET’ を押して下さ
; い。 この変数の初期値は ‘nil’ です。
(setq mew-ask-subject t)
; End of 09 March 2016


; 26 August 2016
; mew の summary mode で間違って S を押すとソートしてしまうのを止めさせる
; A と同じ動作に変更する

; mew-key.el より
;  (define-key mew-summary-mode-map "A"    'mew-summary-reply-with-citation)
;  (define-key mew-summary-mode-map "S"    'mew-summary-selection-by-sort)

(define-key mew-summary-mode-map "S"    'mew-summary-reply-with-citation)
; End of 26 August 2016


; 09 September 2016
;
; Hiroshi Fujishima
; 13 years ago
; Permalink
; Raw Message
; Post by Yoshikazu Tanaka
; mewを一番最初に、
; 立ち上げたときに
; home directoryに
; ~/Mail というdirectory が自動的に作成されますが、
; これを~/Maildir としたいのですが、どうすればいいのでしょうか。
; 
; (setq mew-conf-path "~/Maildir"
; mew-mail-path "~/Maildir")
; 
; とすればいいです。
; --
; Hiroshi Fujishima
;
(setq
 mew-conf-path "d:/cygwin/home/tomaru/Mail"
 mew-mail-path "d:/cygwin/home/tomaru/Mail"
)
;
; End of 09 September 2016


; 27 September 2016
; Info より
;自分のアドレスは自動的に消去されます。自分のアドレスは、
;`mew-config-alist' などから `mew-mail-address-list' に自動設定されます。
;この値が気に入らないなら、以下のように明示的に設定することも可能です。
;
     (setq mew-mail-address-list
;            '("^pooh@[a-z]*.example.org$"
;              "^pooh@example.net$"
;              "^winnie@example.jp$"))
            '("******@kit.ac.jp"))
;
; End of 27 September 2016
Today:1Yesterday:2Total:1110 since 1 September 2021

*1 以前かなり削ったのですが

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 10 Sep 2021 (金) 16:13:20 (949d)