「NTEmacs の設定」の編集履歴(バックアップ)一覧はこちら
「NTEmacs の設定」(2023/01/17 (火) 17:30:01) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&bold(){【お知らせ】}
----
● 本サイトは NTEmacs の情報サイトなのですが、私が WSL版 Emacs に乗り換えたため、そちらに関連する情報が多くなってきています。WSL版 Emacs も Windows 上で動作する Emacs ですので、本サイトの目的とは合致していると思っています。
● WSL版 Emacs に行き着くまで、Linux版 Emacs、MinGW版 Emacs、Cygwin版 Emacs といろいろ使ってきましたが、今のところ Windows で Emacs を使うには WSL Emacs on VcXsrv がベストな選択だと思っています。WSL コマンド(https://github.com/smzht/wsl-utils)や Windows コマンド(https://github.com/smzht/win-utils)の作成、Google日本語入力 と連携可能な mozc_emacs_helper.exe のビルドの成功(https://github.com/smzht/mozc_emacs_helper)、さらには以降で紹介している Emacs の設定の整備により、WSL 上で Emacs を使う場合の不便な点は概ね解消されていると思います。
■ Windows 10 2004 がリリースされましたので、WSL から WSL2 に移行しました。多少の調整は必要でしたが、WSL の環境をほぼそのまま WSL2 で実現できました。調整が必要だった箇所は、「[[WSL で Emacs を使うための設定]] 」の 【お知らせ】 に記載しています。
■ X Window Server は VcXsrv から GWSL に乗り換えました。GWSL も 内部で VcXsrv を利用しており、VcXsrv と同等に利用可能です。Microsoft 謹製の WSLg も Windows 11 では利用可能となっていますが、Windows の操作方法が独自になるなどの理由から利用を見合わせています。
&bold(){【トピック】}
----
★ NTEmacs の設定とは関係ありませんが、&bold(){Windows の操作を Emacs のキーバインドで行うための設定} を公開しています。OS まるごと Emacsキーバインドで操作することができ快適です。お試しください!
・[[Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版)]] &color(red){update! (2022/06/23)}
★&bold(){日本語キーボードを英語キーボード配列で使おうとした際に調べた情報} をまとめています。Keyhac + Fakeymacs で実現する設定のリンクも載せています。お試しください!
・[[英語キーボード設定の OS で日本語キーボードを使うときの情報まとめ]] &color(red){update! (2021/09/10)}
★ &bold(){WSL で Emacs を使うための設定} をまとめました。WSL Emacs は Windows との相性がとても良く、Linux、Windows 双方にアクセスするためのユーザインタフェースとしての利用にとても便利です。お試しください!
・[[WSL で Emacs を使うための設定]] &color(red){update! (2022/10/14)}
● &bold(){WSL の emacsclient を Windows から利用するための設定} をまとめました。WSL Emacs を Windows で起動するためのコマンドも紹介しています。お試しください。
・[[WSL の emacsclient を Windows から利用するための設定]] &color(red){update! (2021/02/05)}
● &bold(){VSCode で開いているファイルを WSL の Emacs で開くための設定} をまとめました。Remote-WSL を設定した VSCode でも利用可能です。お試しください。
・[[VSCode で開いているファイルを WSL の Emacs で開くための設定]] &color(red){update! (2019/11/06)}
● &bold(){WSL の Emacs から VSCode でファイルを開くための設定} をまとめました。VSCode の Remote Development にも対応しています。お試しください。
・[[WSL の Emacs から VSCode でファイルを開くための設定]] &color(red){update! (2019/10/31)}
● &bold(){helm で peco もどきのコマンドを使うための設定} をまとめした。peco が使えない shell-mode で利用できます。お試しください。
・[[helm で peco もどきのコマンドを使うための設定]] &color(red){update! (2019/04/16)}
● &bold(){google-translate を使いやすくするための設定} をまとめました。翻訳する文章が日本語か英語かを判別し、他方に翻訳する機能をサポートしています。お試しください。
・[[google-translate を使いやすくするための設定]] &color(red){update! (2019/12/30)}
● &bold(){WSL から Windows の exe コマンドを管理者権限で実行するコマンド winsudo} を公開しました。UAC が有効な場合、ポップアップによる確認後に管理者権限でコマンドが実行されます。お試しください。
・https://github.com/smzht/wsl-utils#-winsudo
● &bold(){WSL のシェルから Cygwin のコマンドを実行するためのコマンド cyg} を公開しました。Cygwin から WSL へ移行する際の過渡期に利用するツールとして使えるかと思います。お試しください。
・https://github.com/smzht/wsl-utils#-cyg
● &bold(){Emacs の日本語マニュアル} を公開されている方がいらっしゃいます。大作です。紹介させていただきます。
・https://ayatakesi.github.io/
● &bold(){Lisp と JavaScript} は似ているのですね。興味深い。確かに、JavaScript の旧名は、&color(blue){&bold(){LI}} ve &color(blue){&bold(){S}} cri &color(blue){&bold(){P}} t ですね。
・https://www.slideshare.net/taiju/javascriptlisp
・https://qiita.com/derui/items/6e8de68cc1b7295de3a6
&bold(){【本題】}
----
このウィキでは、Windows で GNU Emacs を 快適に利用するための設定についてまとめています。完全ではありませんが、以下の環境で動作確認しています。
・&bold(){Windows 11 + GWSL + WSL2 + Ubuntu-20.04 + Emacs-27 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Windows 11 + WSLg + WSL2 + Ubuntu-20.04 + Emacs-26 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Windows 10 ver 2004 + VcXsrv + WSL2 + Ubuntu-20.04 + Emacs-26 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Windows 10 ver 1909 + VcXsrv + WSL + Ubuntu-18.04 + Emacs-25 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
※ &u(){&color(red){現在のメイン環境}}です。「[[WSL で Emacs を使うための設定]]」で設定方法を紹介しています。
※ この環境の特徴は、以下のとおりです。
・MinGW版 Emacs と異なり、設定でのいろいろな workaround(fakecygpty の設定や UTF-8 を使うための設定など)が不要です。
・Cygwin版 Emacs と異なり、MinGW版 Emacs 並に高速に動作します。
・Google日本語入力 との連携を可能とした mozc_emacs_helper.exe の導入で、日本語入力にも対応しています。
・Cygwin版 Emacs で度々発生する vfork 問題が一切起こりません。
・Linux の OS 環境をフルに利用可能です。(MinGW版 Emacs の様に別途 UNIX 環境を準備する必要がありません。)
・設定により、dired から Windows のドキュメントを直接開くことができます。(wslstart という cygstart と同機能のコマンドの作成により実現しています。)
・設定により、dired で Windows のショートカットをシンボリックリンクの様に扱えます。(w32-symlinks.el から最低限必要な設定を流用することで実現しています。)
・設定により、Windows パスや UNC パスを Linux のパスと同様に利用できます。(Emacs の Magic File Names の仕組みを利用して実現しています。)
・ViirtualBox で Linux を動作させた環境と異なり、Keyhac との連携(ウィンドウの切り替えなど)が可能です。
・一つデメリットを挙げれば、画面へのファイルのドラッグ&ドロップができないことです。これは、「[[dired を OS と連携して使うための設定]]」で代替になると思います。
・&bold(){Windows 10 + gnupack-13.06(Cygwin は最新に更新)+ emacs-mozc(Google日本語入力 と連携)&color(blue){(Cygwin版 Emacs)}}
・&bold(){Windows 10 + gnupack-13.06(Cygwin は最新に更新)+ Cygwin の emacs-w32 での差替え + emacs-mozc(Google日本語入力 と連携)&color(blue){(Cygwin版 Emacs)}}
※ &u(){&color(red){WSL に移行する前まで使っていた環境}}です。
※ 比較的新しいバージョンが提供される Cygwin の Emacs を利用する方法は、「[[gnupack-13 の環境で Cygwin の Emacs を利用するための設定]]」を参考としてください。
※ この環境の特徴は、以下のとおりです。(以前までお勧めしていたので、まとめています。)
・MinGW版 よりちょっと(かなり?)遅めですが、設定でのいろいろな workaround が不要です。
・Cygwin 側で作成した Windows ショートカット(CYGWIN環境変数 が winsymlinks:lnk に設定された状態で ln -s コマンドで作成したリンク)が、シンボリックリンクとして認識されるのが便利です。
・Google日本語入力 との連携を可能とした mozc_emacs_helper.exe の導入で、日本語入力も安定して動作します。
・何らかのタイミングで vfork関連のエラーが発生することがあります。これを解決するのが厄介で、Cygwin版 Emacs を使う上での大きなデメリットとなっています。(この症状が発生した場合、Cygwin に対して rebaseall を行った後、OS の再起動をすると改善するような気がします。Cygwin の更新をすると rebase が掛かるので、その後 OS の再起動をすると良いと思います。)
・&bold(){Windows 10 + gnupack-11.00(Cygwin は最新に更新)+ NTEmacs64 での差替え &color(blue){(MinGW版 Emacs)}}
・&bold(){Windows 10 + gnupack-11.00(Cygwin は最新に更新)+ GNU配布版 Emacs での差替え + emacs-mozc(Google日本語入力 と連携)&color(blue){(MinGW版 Emacs)}}
※ 最新の MinGW版 Emacs を利用する方法は、「[[gnupack-11.00 の環境で NTEmacs64 を利用するための設定]]」を参考としてください。
※ Windows のパスがそのまま利用できるなど、Windows との親和性は高いです。但し、問題なく使うためのハードルも高い(本質的ではない、設定でのいろいろな workaround が必要)です。
・&bold(){VirtualBox + Ubuntu-18.04 + Emacs-25 or 26 + emacs-mozc(mozc-server と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Hyper-V + Ubuntu-18.04 + Emacs-25 or 26 + emacs-mozc(mozc-server と連携)&color(blue){(Linux版 Emacs)}}
※ 仮想環境で動かしているのに、非常に高速に動作します。Windows 環境との連携が重要でなければ、この環境が一番お勧めなのかもしれません。
※ 本ページで紹介する設定は、&bold(){Emacs バージョン 24.4 以上で利用可能}な設定となっています。
※ MinGW版 Emacs を利用する場合、Cygwin の導入、cygdriveプレフィクス の / 設定、cygwin-mount.el のインストールが前提となっている設定箇所があります。
※ Cygwin版 Emacs 、MinGW版 Emacs を利用する場合、以下の「&bold(){【基本設定】}」が行われていることが前提となっている設定箇所が多数あります。本ページの設定を利用する場合には、「&bold(){【基本設定】}」の利用を&bold(){強くお勧め}します。
※ フォントを滑らかに表示させるためには、次の方法をお試しください。
・http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=013964
&bold(){■ Cygwin版 Emacs 特有の設定}
----
-&bold(){【基本設定】} [[Windowsパス と UNCパス を使えるようにするための設定]]
-&bold(){【推奨設定】} [[dired でディレクトリのシンボリックリンクを実体のパスで開くための設定]] ※ 後半に Cygwin版 Emacs 特有の設定があります。
-[[gnupack-13 の環境で Cygwin の Emacs を利用するための設定]]
&bold(){(関連)}
-[[Cygwin で sudo 的コマンドを使うための設定]]
-[[Cygwin で sudoedit を使うための設定]]
-[[singleton な動きをする cygstart 的コマンドを使うための設定 (Cygwin版)]]
-[[gnupack-13.xx の背景色やフォントを gnupack-11.00 の時代のものと同じにするためのパッチ]]
&bold(){■ MinGW版 Emacs 特有の設定}
----
-&bold(){【基本設定】} [[UTF-8 をベースとして利用するための設定]]
-&bold(){【基本設定】} [[fakecygpty を使うための設定]]
-[[tramp を tramp-method “scp” で使うための設定]] ※ 後半に MinGW版 Emacs 特有の設定があります。
-[[emacsclientw を使うための設定]]
-[[Cygwin の Python を使って run-python を動かすための設定]]
-[[gnupack-11.00 の環境で NTEmacs64 を利用するための設定]] ※ MinGW版 Emacs であれば NTEmacs64 以外にも適用可能です。
&bold(){■ Windows版 Emacs 共通の設定} (上記の「【基本設定】」が前提となっている設定があります)
----
-[[W32-IME を快適に使うための設定]]
-[[emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編)]]
-[[emacs-mozc を動かすための設定(サーバ準備編)]]
-[[emacs-mozc を動かすための設定(Emacs 設定編)]] ※ 一部の設定を除き、Linux版 Emacs にも適用可能です。
-[[locate を使うための設定]]
-[[Notepad を使って印刷するための設定]]
-[[emacs-eclim を使うための設定]]
-[[Emacs で指定したファイルを Eclipse で開くための設定]]
-[[Windows ショートカットを dired と連携して使うための設定]] ← お薦めはこちら
-[[w32-symlinks を dired と連携して使うための設定]]
&bold(){■ Linux の Emacs で利用できる設定}
----
-[[リモートマシン上の Emacs から、ローカルマシンの Windowsアプリケーションソフトを起動するための設定]]
-[[VirtualBox 上の Ubuntu から WSL を経由して Windows 環境にアクセスするための設定]]
&bold(){■ Windows Subsystem for Linux の Emacs で利用できる設定}
----
-&bold(){【推奨設定】} [[WSL で Emacs を使うための設定]]
-[[emacs-mozc を動かすための設定(WSL 設定編)]]
-[[Windowsパス と UNCパス を使えるようにするための設定(WSL 設定編)]]
-[[WSL で NTFS シンボリックリンクや Windows ショートカットを作成するための設定]]
-[[WSL の emacsclient を Windows から利用するための設定]]
-[[Windows ショートカットを dired と連携して使うための設定]] ← お薦めはこちら
-[[w32-symlinks を dired と連携して使うための設定]]
-[[Notepad を使って印刷するための設定(WSL 設定編)]]
-[[locate を使うための設定(WSL 設定編)]]
-[[WSL の Emacs から VSCode でファイルを開くための設定]]
-[[VSCode で開いているファイルを WSL の Emacs で開くための設定]]
-[[Windows の ssh から WSL2 の sshd に接続するための設定]]
&bold(){(関連)}
-[[WSL で cygstart 的コマンドを使うための設定]]
-[[singleton な動きをする cygstart 的コマンドを使うための設定 (WSL版)]]
&bold(){■ Emacs 全般で利用できる設定}
----
-[[shell-mode を使うための設定]]
-[[shell-mode で複数の漢字コードを混在して利用できるようにするための設定]]
-[[shellバッファ を簡単にポップアップするための設定]]
-[[dired を OS と連携して使うための設定]]
-[[dired をより便利に使うための設定]]
-[[dired でディレクトリのシンボリックリンクを実体のパスで開くための設定]]
-[[tramp を tramp-method “scp” で使うための設定]]
-[[tramp による接続先で Xクライアント を実行するための設定]]
-[[helm を使うための設定]]
-[[helm から comint の入力履歴を検索するための設定]]
-[[helm で peco もどきのコマンドを使うための設定]]
-[[ediff をスマートに使うための設定]]
-[[elscreen を使うための設定]]
-[[whitespace を使うための設定]]
-[[cua-mode を使うための設定]]
-[[multiple-cursors を使うための設定]]
-[[google-translate を使いやすくするための設定]]
&bold(){■ 説明ページを作るまでもない設定の紹介}
----
-沢山開いているバッファをできるだけ一度に閉じるための設定
(global-set-key (kbd "M-c") (lambda ()
(interactive)
(desktop-clear)
(tramp-cleanup-all-connections)))
-カレントバッファを一発で閉じるための設定
(global-set-key (kbd "M-k") (lambda ()
(interactive)
(kill-buffer (buffer-name))))
-ウィンドウの右端で改行をするかどうかを切り替えるための設定
(global-set-key (kbd "C-c C-<return>") 'toggle-truncate-lines)
-横スクロールするための設定(キー設定が逆の感覚の方もいるかも)
(global-set-key (kbd "C-,") 'scroll-left) ; < のキー
(global-set-key (kbd "C-.") 'scroll-right) ; > のキー
-other-window がなければ開き、その window に移動するための設定
http://d.hatena.ne.jp/rubikitch/20100210/emacs
(defun other-window-or-split ()
(interactive)
(when (one-window-p)
(split-window-sensibly))
(other-window 1))
(global-set-key (kbd "C-x o") 'other-window-or-split)
-2 分割しているバッファを入れ替えるための設定
http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=swap%20screen
(defun swap-screen-with-cursor()
"Swap two screen,with cursor in same buffer."
(interactive)
(let ((thiswin (selected-window))
(thisbuf (window-buffer)))
(other-window 1)
(set-window-buffer thiswin (window-buffer))
(set-window-buffer (selected-window) thisbuf)))
(global-set-key (kbd "M-t") 'swap-screen-with-cursor)
-バッファの分割方向を縦と横とで入れ替えるための設定
https://github.com/daichirata/emacs-rotate
(require 'rotate)
(setq rotate-functions '(rotate:even-horizontal rotate:even-vertical))
(global-set-key (kbd "M-\\") 'rotate-layout)
-tramp を使っていて、NTEmacs の起動が遅くなる場合に必要な設定
(require 'recentf)
(setq recentf-auto-cleanup 'never)
(recentf-mode 1)
-その他参考
http://www.clear-code.com/blog/2012/3/20.html
&bold(){■ おまけ}
----
-[[ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法1)]]
-[[ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法2)]]
-[[ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法3)]] ← お薦めはこちら
-[[Windows の操作を Emacs のキーバインドで行うための設定 (AutoHotKey版)]]
-[[Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版)]] ← お薦めはこちら
&bold(){■ その他}
----
-[[MobaXterm を使おう]]
-[[Windows で sshfs を使うお薦めのソフト]]
-Subversion には dsvn を使っています。melpa からインストールできます。
-Git には magit が便利です。
-Vimacs というのもあるんですね。Evil と逆の発想のものだと思います。
http://blog.cnu.jp/2009/07/28/vimacs/
http://uguisu.skr.jp/Windows/vim.html
-spacemacsというのも見つけました。Windows版 Emacs でも動いているようです。
https://github.com/syl20bnr/spacemacs
&bold(){■ 参考サイト}
----
・Manual
http://emacs.rubikitch.com/emacs245-manual-ja/
https://ayatakesi.github.io/
https://github.com/ayatakesi
・Lisp と JavaScript
https://www.slideshare.net/taiju/javascriptlisp
https://qiita.com/derui/items/6e8de68cc1b7295de3a6
・Common Lisp
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html
・functional-programming
https://postd.cc/an-introduction-to-functional-programming/
https://qiita.com/hiruberuto/items/26a813ab2b188ca39019
・nadvice
http://g000001.cddddr.org/3623238000
`:before' (lambda (&rest r) (apply FUNCTION r) (apply OLDFUN r))
`:after' (lambda (&rest r) (prog1 (apply OLDFUN r) (apply FUNCTION r)))
`:around' (lambda (&rest r) (apply FUNCTION OLDFUN r))
`:override' (lambda (&rest r) (apply FUNCTION r))
`:before-while' (lambda (&rest r) (and (apply FUNCTION r) (apply OLDFUN r)))
`:before-until' (lambda (&rest r) (or (apply FUNCTION r) (apply OLDFUN r)))
`:after-while' (lambda (&rest r) (and (apply OLDFUN r) (apply FUNCTION r)))
`:after-until' (lambda (&rest r) (or (apply OLDFUN r) (apply FUNCTION r)))
`:filter-args' (lambda (&rest r) (apply OLDFUN (funcall FUNCTION r)))
`:filter-return'(lambda (&rest r) (funcall FUNCTION (apply OLDFUN r)))
・generalized variables
http://kawabata.github.io/blog/2013-03-14-general-variables.html
http://qiita.com/kawabata@github/items/9a1a1e211c57a56578d8
・lexical-binding
http://sakito.jp/emacs/emacs24.html#emacs-lisp-lexical-binding
http://d.hatena.ne.jp/mhayashi1120/20130327/1364396586
・flet
http://ja.stackoverflow.com/questions/5458/flet%E3%81%A8cl-flet%E3%81%AE%E5%B7%AE%E7%95%B0
・noflet
http://emacs.rubikitch.com/noflet/
・function
http://www.mew.org/~kazu/doc/elisp/function.html
・custom-set-variables
http://kawamuray.hatenablog.com/entry/2013/11/03/180543
・buffer local variable
https://qiita.com/yoshrc/items/00f3c08f7a5cac911c3a
https://qiita.com/tadsan/items/9d287a57c26711387043
・Emacs
http://qiita.com/ytoda129/items/58078d8c7e74d9144014
https://miyazakikenji.wordpress.com/2015/08/11/ac-mozc-on-emacs25-in-ubuntu/(誤記有: apt-add repository -> apt-add-repository。インストールされるものが最新過ぎるかも。)
http://nkenbou.hatenablog.com/entry/2015/06/30/051408
http://askubuntu.com/questions/87872/how-do-i-accept-the-configuration-screen-that-pops-up-when-installing-postfix
http://tanehp.ec-net.jp/heppoko-lab/prog/zakki/emacs/emacs.html
http://d.hatena.ne.jp/tomoya/20081228/1230421982
http://blog.ichiroc.in/entry/2013/08/30/185953
・init-loader.el
http://d.hatena.ne.jp/gin0606/20111021/1319196327
http://tech.kayac.com/archive/divide-dot-emacs.html
http://qiita.com/catatsuy/items/5f1cd86e2522fd3384a0
・font
http://extra-vision.blogspot.com/2016/07/emacs.html
http://mix-mplus-ipa.osdn.jp/migu/
http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html
・dabbrev
http://konbu13.hatenablog.com/entry/2014/03/09/080947
・emacsclient
https://qiita.com/acple@github/items/4be7eb774a28d574281e
・helm
https://github.com/emacs-helm/helm/wiki
https://github.com/emacs-helm/helm/wiki/Developing
http://syohex.hatenablog.com/entry/2015/10/10/171926
https://masutaka.net/chalow/2014-04-02-1.html
・mozc
http://nyaruru.hatenablog.com/archive
http://d.hatena.ne.jp/rti7743/20100513/1273710518
https://www.codeproject.com/Articles/13724/Windows-IPC
http://myfuturesightforpast.blogspot.com/2015/08/googlemozcimewindowslinuxandroid.html
https://github.com/kento1218/mozc-incog-switcher
・Google日本語入力
https://productforums.google.com/forum/#!topic/ime-ja/5CCIenG_0Zw
https://productforums.google.com/forum/#!topic/ime-ja/xBJLDHyJVw0
・eclim
http://eclim.org
https://github.com/senny/emacs-eclim
・OminiSharp
https://github.com/omnisharp
・roslyn
https://www.buildinsider.net/enterprise/roslyn/01
・lsp
https://github.com/emacs-lsp
https://github.com/joaotavora/eglot
https://microsoft.github.io/language-server-protocol/implementors/servers/
https://qiita.com/blue0513/items/acc962738c7f4da26656
https://qiita.com/atsushieno/items/ce31df9bd88e98eec5c4
https://qiita.com/515hikaru/items/8b364b4d091459a85dc0
・TabNine
https://qiita.com/blue0513/items/2634fcb3757629124c87
https://qiita.com/gorogoroyasu/items/f49ee019ea886181d972
・IDE
https://www.mediamaxjapan.com/techblog/articles/lets-start-using-ide/
・WSL
https://opcdiary.net/?p=32284
https://qiita.com/nishemon/items/bb3aca972404f68bfcd6
https://qiita.com/zophos/items/5cf66385a88186c2fac9
http://ascii.jp/elem/000/001/278/1278792/
http://ascii.jp/elem/000/001/402/1402257/
https://ascii.jp/elem/000/001/803/1803883/
http://www.clear-code.com/blog/2017/11/8.html
https://www.atmarkit.co.jp/ait/articles/1711/09/news032.html
<for Windows 10 1803>
https://kledgeb.blogspot.jp/2018/03/wsl-142-windows-101803wsl.html
http://www.atmarkit.co.jp/ait/articles/1805/24/news022.html
<for Windows 10 1607>
https://github.com/goreliu/wsl-terminal
https://github.com/rprichard/wslbridge
https://github.com/xilun/cbwin
http://qiita.com/shiena/items/b8036514c217000a221
・WSL2
https://ascii.jp/elem/000/004/007/4007561/
・binfmt_misc
http://ascii.jp/elem/000/001/428/1428626/
https://qiita.com/lnznt/items/c729d80d0800a8f78298
http://archive.linux.or.jp/JF/JFdocs/kernel-docs-2.6/binfmt_misc.txt.html
・D-Bus
http://d.hatena.ne.jp/debug-ito/20130502/1367487352
http://www.usupi.org/sysad/175.html
http://www.usupi.org/sysad/176.html
http://wordpress.honobono-life.info/lin-base/linux%E3%81%AEdbus-daemon%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E6%A6%82%E8%A6%81/
・bash
http://www.akamoz.jp/you/uni/shellscript.htm
https://orebibou.com/2017/04/shopt%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%82%8Bbash%E3%81%AE%E4%BE%BF%E5%88%A9%E8%A8%AD%E5%AE%9A%E3%81%BE%E3%81%A8%E3%82%81/
・gsudo
https://qiita.com/_masa_u/items/a799745d70b30c32a03b
https://github.com/gerardog/gsudo
・stdbuf
https://linuxcommand.net/stdbuf/
・cocot
https://vmi.jp/software/cygwin/cocot.html
・ssh
http://kazuph.hateblo.jp/entry/2013/02/04/192358
http://qiita.com/kazuph/items/46e7f665f8c09ec29471
http://inaz2.hatenablog.com/entry/2013/04/30/221348
・ssh-agent-wsl
https://qiita.com/q1701/items/3cdc2d7ef7a3539f351d
・socat
http://racchai.hatenablog.com/entry/2016/04/14/173000
・SocksCap64
https://www.cup.com/staticip/manual/win_sockscap64.html
・Named Pipe TCP Proxy Utility
http://shvechkov.tripod.com/nptp.html
https://yamanxworld.blogspot.jp/2011/06/com-ems.html
・trac
http://blog.kyanny.me/entry/2011/11/19/023643
・DOS
https://goo.gl/rS2qoh
https://thinca.hatenablog.com/entry/20100210/1265813598
http://coelacanth-deepsea.hatenablog.com/entry/2013/01/13/162350
https://korokorokoron.hatenadiary.org/entries/2010/03/16
http://ykr414.com/dos/bat.html
http://pentan.info/server/windows/cmd/dp0.html
https://tunemicky.blogspot.com/2012/03/cmdexe-c.html
http://www.atmarkit.co.jp/ait/articles/1306/07/news111.html
・UAC
https://www.glamenv-septzen.net/view/832
・fsutil
http://www.atmarkit.co.jp/ait/articles/1306/28/news106.html
https://blogs.technet.microsoft.com/jpntsblog/2016/08/31/smbandsymlink/
・Windows Shortcut File Format
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/8bits/The_Windows_Shortcut_File_Format.pdf
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-shllink/16cb4ca1-9339-4d0c-a68d-bf1d6cc0f943
・Android
http://d.hatena.ne.jp/moerrari/20170723
http://ottan.xyz/android-linux-noroot-gui-5690/
http://qiita.com/z80oolong/items/4ef119a6af79a9276a0d
http://www.mhatta.org/wp/blog/2017/08/06/emacs-on-android/
・Keyhac
https://sites.google.com/site/craftware/keyhac-ja
https://github.com/crftwr/keyhac/blob/master/keyhac_main.py#L7-L21
・closure
http://www.lifewithpython.com/2014/09/python-use-closures.html?m=1
http://blog.starbug1.com/archives/290
・AutoHotKey
https://so-zou.jp/software/tool/system/auto-hot-key/introduction/
http://ahkwiki.net/Top
http://fxrobot.hatenablog.com/archive/category/AutoHotKey
・Bat To Exe Converter
http://blog.mukairiku.net/2012/10/%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92exe%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B-bat-to-exe-converter.html
http://www.f2ko.de/en/b2e.php
・Emacs keybind
https://linuxfan.info/emacs-key-theme
https://qiita.com/shiena/items/37032aacc241b1333e13
・xkeysnail
https://qiita.com/mooz@github/items/c5f25f27847333dd0b37
https://github.com/mooz/xkeysnail
・q-text-as-data
http://harelba.github.io/q/ja/
https://www.google.com/search?q=q-text-as-data
・qq
https://github.com/mattn/qq
https://mattn.kaoriya.net/software/lang/go/20160805190022.htm
・Open-usp-Tukubai
https://github.com/usp-engineers-community/Open-usp-Tukubai
・article
http://kledgeb.blogspot.jp/2016/07/wsl-31-windows-10ubuntuunityxubuntuxfce4.html
https://github.com/Microsoft/BashOnWindows/issues/637
http://www.zdnet.com/article/how-to-run-run-the-native-ubuntu-desktop-on-windows-10/
http://winaero.com/blog/run-ubuntu-unity-on-windows-10/
https://blogs.msdn.microsoft.com/wsl/2016/10/19/windows-and-ubuntu-interoperability/
http://kledgeb.blogspot.jp/2016/10/wsl-51-bashwindows.html
http://ascii.jp/elem/000/001/246/1246548/
http://ascii.jp/elem/000/001/250/1250797/
・MacOS
https://applech2.com/archives/45181430.html
https://applech2.com/archives/47447129.html
https://blog.amedama.jp/entry/lima-macos-amd64-vm
https://zenn.dev/ciloholic/articles/bbc6927ecfbdb4
https://qiita.com/chibiegg/items/eede37345f7058ce604d
https://dev.classmethod.jp/articles/intro-to-multipass/
----
#javascript(){{
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-40267130-1', 'atwiki.jp');
ga('send', 'pageview');
</script>
}}
&bold(){【お知らせ】}
----
● 本サイトは NTEmacs の情報サイトなのですが、私が WSL版 Emacs に乗り換えたため、そちらに関連する情報が多くなってきています。WSL版 Emacs も Windows 上で動作する Emacs ですので、本サイトの目的とは合致していると思っています。
● WSL版 Emacs に行き着くまで、Linux版 Emacs、MinGW版 Emacs、Cygwin版 Emacs といろいろ使ってきましたが、今のところ Windows で Emacs を使うには WSL Emacs on VcXsrv がベストな選択だと思っています。WSL コマンド(https://github.com/smzht/wsl-utils)や Windows コマンド(https://github.com/smzht/win-utils)の作成、Google日本語入力 と連携可能な mozc_emacs_helper.exe のビルドの成功(https://github.com/smzht/mozc_emacs_helper)、さらには以降で紹介している Emacs の設定の整備により、WSL 上で Emacs を使う場合の不便な点は概ね解消されていると思います。
■ Windows 10 2004 がリリースされましたので、WSL から WSL2 に移行しました。多少の調整は必要でしたが、WSL の環境をほぼそのまま WSL2 で実現できました。調整が必要だった箇所は、「[[WSL で Emacs を使うための設定]] 」の 【お知らせ】 に記載しています。
■ X Window Server は VcXsrv から GWSL に乗り換えました。GWSL も 内部で VcXsrv を利用しており、VcXsrv と同等に利用可能です。Microsoft 謹製の WSLg も Windows 11 では利用可能となっていますが、Windows の操作方法が独自になるなどの理由から、GWSL の方を利用しています。
&bold(){【トピック】}
----
★ NTEmacs の設定とは関係ありませんが、&bold(){Windows の操作を Emacs のキーバインドで行うための設定} を公開しています。OS まるごと Emacsキーバインドで操作することができ快適です。お試しください!
・[[Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版)]] &color(red){update! (2022/06/23)}
★&bold(){日本語キーボードを英語キーボード配列で使おうとした際に調べた情報} をまとめています。Keyhac + Fakeymacs で実現する設定のリンクも載せています。お試しください!
・[[英語キーボード設定の OS で日本語キーボードを使うときの情報まとめ]] &color(red){update! (2021/09/10)}
★ &bold(){WSL で Emacs を使うための設定} をまとめました。WSL Emacs は Windows との相性がとても良く、Linux、Windows 双方にアクセスするためのユーザインタフェースとしての利用にとても便利です。お試しください!
・[[WSL で Emacs を使うための設定]] &color(red){update! (2022/10/14)}
● &bold(){WSL の emacsclient を Windows から利用するための設定} をまとめました。WSL Emacs を Windows で起動するためのコマンドも紹介しています。お試しください。
・[[WSL の emacsclient を Windows から利用するための設定]] &color(red){update! (2021/02/05)}
● &bold(){VSCode で開いているファイルを WSL の Emacs で開くための設定} をまとめました。Remote-WSL を設定した VSCode でも利用可能です。お試しください。
・[[VSCode で開いているファイルを WSL の Emacs で開くための設定]] &color(red){update! (2019/11/06)}
● &bold(){WSL の Emacs から VSCode でファイルを開くための設定} をまとめました。VSCode の Remote Development にも対応しています。お試しください。
・[[WSL の Emacs から VSCode でファイルを開くための設定]] &color(red){update! (2019/10/31)}
● &bold(){helm で peco もどきのコマンドを使うための設定} をまとめした。peco が使えない shell-mode で利用できます。お試しください。
・[[helm で peco もどきのコマンドを使うための設定]] &color(red){update! (2019/04/16)}
● &bold(){google-translate を使いやすくするための設定} をまとめました。翻訳する文章が日本語か英語かを判別し、他方に翻訳する機能をサポートしています。お試しください。
・[[google-translate を使いやすくするための設定]] &color(red){update! (2019/12/30)}
● &bold(){WSL から Windows の exe コマンドを管理者権限で実行するコマンド winsudo} を公開しました。UAC が有効な場合、ポップアップによる確認後に管理者権限でコマンドが実行されます。お試しください。
・https://github.com/smzht/wsl-utils#-winsudo
● &bold(){WSL のシェルから Cygwin のコマンドを実行するためのコマンド cyg} を公開しました。Cygwin から WSL へ移行する際の過渡期に利用するツールとして使えるかと思います。お試しください。
・https://github.com/smzht/wsl-utils#-cyg
● &bold(){Emacs の日本語マニュアル} を公開されている方がいらっしゃいます。大作です。紹介させていただきます。
・https://ayatakesi.github.io/
● &bold(){Lisp と JavaScript} は似ているのですね。興味深い。確かに、JavaScript の旧名は、&color(blue){&bold(){LI}} ve &color(blue){&bold(){S}} cri &color(blue){&bold(){P}} t ですね。
・https://www.slideshare.net/taiju/javascriptlisp
・https://qiita.com/derui/items/6e8de68cc1b7295de3a6
&bold(){【本題】}
----
このウィキでは、Windows で GNU Emacs を 快適に利用するための設定についてまとめています。完全ではありませんが、以下の環境で動作確認しています。
・&bold(){Windows 11 + GWSL + WSL2 + Ubuntu-20.04 + Emacs-27 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Windows 11 + WSLg + WSL2 + Ubuntu-20.04 + Emacs-26 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Windows 10 ver 2004 + VcXsrv + WSL2 + Ubuntu-20.04 + Emacs-26 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Windows 10 ver 1909 + VcXsrv + WSL + Ubuntu-18.04 + Emacs-25 + emacs-mozc(Google日本語入力 と連携)&color(blue){(Linux版 Emacs)}}
※ &u(){&color(red){現在のメイン環境}}です。「[[WSL で Emacs を使うための設定]]」で設定方法を紹介しています。
※ この環境の特徴は、以下のとおりです。
・MinGW版 Emacs と異なり、設定でのいろいろな workaround(fakecygpty の設定や UTF-8 を使うための設定など)が不要です。
・Cygwin版 Emacs と異なり、MinGW版 Emacs 並に高速に動作します。
・Google日本語入力 との連携を可能とした mozc_emacs_helper.exe の導入で、日本語入力にも対応しています。
・Cygwin版 Emacs で度々発生する vfork 問題が一切起こりません。
・Linux の OS 環境をフルに利用可能です。(MinGW版 Emacs の様に別途 UNIX 環境を準備する必要がありません。)
・設定により、dired から Windows のドキュメントを直接開くことができます。(wslstart という cygstart と同機能のコマンドの作成により実現しています。)
・設定により、dired で Windows のショートカットをシンボリックリンクの様に扱えます。(w32-symlinks.el から最低限必要な設定を流用することで実現しています。)
・設定により、Windows パスや UNC パスを Linux のパスと同様に利用できます。(Emacs の Magic File Names の仕組みを利用して実現しています。)
・ViirtualBox で Linux を動作させた環境と異なり、Keyhac との連携(ウィンドウの切り替えなど)が可能です。
・一つデメリットを挙げれば、画面へのファイルのドラッグ&ドロップができないことです。これは、「[[dired を OS と連携して使うための設定]]」で代替になると思います。
・&bold(){Windows 10 + gnupack-13.06(Cygwin は最新に更新)+ emacs-mozc(Google日本語入力 と連携)&color(blue){(Cygwin版 Emacs)}}
・&bold(){Windows 10 + gnupack-13.06(Cygwin は最新に更新)+ Cygwin の emacs-w32 での差替え + emacs-mozc(Google日本語入力 と連携)&color(blue){(Cygwin版 Emacs)}}
※ &u(){&color(red){WSL に移行する前まで使っていた環境}}です。
※ 比較的新しいバージョンが提供される Cygwin の Emacs を利用する方法は、「[[gnupack-13 の環境で Cygwin の Emacs を利用するための設定]]」を参考としてください。
※ この環境の特徴は、以下のとおりです。(以前までお勧めしていたので、まとめています。)
・MinGW版 よりちょっと(かなり?)遅めですが、設定でのいろいろな workaround が不要です。
・Cygwin 側で作成した Windows ショートカット(CYGWIN環境変数 が winsymlinks:lnk に設定された状態で ln -s コマンドで作成したリンク)が、シンボリックリンクとして認識されるのが便利です。
・Google日本語入力 との連携を可能とした mozc_emacs_helper.exe の導入で、日本語入力も安定して動作します。
・何らかのタイミングで vfork関連のエラーが発生することがあります。これを解決するのが厄介で、Cygwin版 Emacs を使う上での大きなデメリットとなっています。(この症状が発生した場合、Cygwin に対して rebaseall を行った後、OS の再起動をすると改善するような気がします。Cygwin の更新をすると rebase が掛かるので、その後 OS の再起動をすると良いと思います。)
・&bold(){Windows 10 + gnupack-11.00(Cygwin は最新に更新)+ NTEmacs64 での差替え &color(blue){(MinGW版 Emacs)}}
・&bold(){Windows 10 + gnupack-11.00(Cygwin は最新に更新)+ GNU配布版 Emacs での差替え + emacs-mozc(Google日本語入力 と連携)&color(blue){(MinGW版 Emacs)}}
※ 最新の MinGW版 Emacs を利用する方法は、「[[gnupack-11.00 の環境で NTEmacs64 を利用するための設定]]」を参考としてください。
※ Windows のパスがそのまま利用できるなど、Windows との親和性は高いです。但し、問題なく使うためのハードルも高い(本質的ではない、設定でのいろいろな workaround が必要)です。
・&bold(){VirtualBox + Ubuntu-18.04 + Emacs-25 or 26 + emacs-mozc(mozc-server と連携)&color(blue){(Linux版 Emacs)}}
・&bold(){Hyper-V + Ubuntu-18.04 + Emacs-25 or 26 + emacs-mozc(mozc-server と連携)&color(blue){(Linux版 Emacs)}}
※ 仮想環境で動かしているのに、非常に高速に動作します。Windows 環境との連携が重要でなければ、この環境が一番お勧めなのかもしれません。
※ 本ページで紹介する設定は、&bold(){Emacs バージョン 24.4 以上で利用可能}な設定となっています。
※ MinGW版 Emacs を利用する場合、Cygwin の導入、cygdriveプレフィクス の / 設定、cygwin-mount.el のインストールが前提となっている設定箇所があります。
※ Cygwin版 Emacs 、MinGW版 Emacs を利用する場合、以下の「&bold(){【基本設定】}」が行われていることが前提となっている設定箇所が多数あります。本ページの設定を利用する場合には、「&bold(){【基本設定】}」の利用を&bold(){強くお勧め}します。
※ フォントを滑らかに表示させるためには、次の方法をお試しください。
・http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=013964
&bold(){■ Cygwin版 Emacs 特有の設定}
----
-&bold(){【基本設定】} [[Windowsパス と UNCパス を使えるようにするための設定]]
-&bold(){【推奨設定】} [[dired でディレクトリのシンボリックリンクを実体のパスで開くための設定]] ※ 後半に Cygwin版 Emacs 特有の設定があります。
-[[gnupack-13 の環境で Cygwin の Emacs を利用するための設定]]
&bold(){(関連)}
-[[Cygwin で sudo 的コマンドを使うための設定]]
-[[Cygwin で sudoedit を使うための設定]]
-[[singleton な動きをする cygstart 的コマンドを使うための設定 (Cygwin版)]]
-[[gnupack-13.xx の背景色やフォントを gnupack-11.00 の時代のものと同じにするためのパッチ]]
&bold(){■ MinGW版 Emacs 特有の設定}
----
-&bold(){【基本設定】} [[UTF-8 をベースとして利用するための設定]]
-&bold(){【基本設定】} [[fakecygpty を使うための設定]]
-[[tramp を tramp-method “scp” で使うための設定]] ※ 後半に MinGW版 Emacs 特有の設定があります。
-[[emacsclientw を使うための設定]]
-[[Cygwin の Python を使って run-python を動かすための設定]]
-[[gnupack-11.00 の環境で NTEmacs64 を利用するための設定]] ※ MinGW版 Emacs であれば NTEmacs64 以外にも適用可能です。
&bold(){■ Windows版 Emacs 共通の設定} (上記の「【基本設定】」が前提となっている設定があります)
----
-[[W32-IME を快適に使うための設定]]
-[[emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編)]]
-[[emacs-mozc を動かすための設定(サーバ準備編)]]
-[[emacs-mozc を動かすための設定(Emacs 設定編)]] ※ 一部の設定を除き、Linux版 Emacs にも適用可能です。
-[[locate を使うための設定]]
-[[Notepad を使って印刷するための設定]]
-[[emacs-eclim を使うための設定]]
-[[Emacs で指定したファイルを Eclipse で開くための設定]]
-[[Windows ショートカットを dired と連携して使うための設定]] ← お薦めはこちら
-[[w32-symlinks を dired と連携して使うための設定]]
&bold(){■ Linux の Emacs で利用できる設定}
----
-[[リモートマシン上の Emacs から、ローカルマシンの Windowsアプリケーションソフトを起動するための設定]]
-[[VirtualBox 上の Ubuntu から WSL を経由して Windows 環境にアクセスするための設定]]
&bold(){■ Windows Subsystem for Linux の Emacs で利用できる設定}
----
-&bold(){【推奨設定】} [[WSL で Emacs を使うための設定]]
-[[emacs-mozc を動かすための設定(WSL 設定編)]]
-[[Windowsパス と UNCパス を使えるようにするための設定(WSL 設定編)]]
-[[WSL で NTFS シンボリックリンクや Windows ショートカットを作成するための設定]]
-[[WSL の emacsclient を Windows から利用するための設定]]
-[[Windows ショートカットを dired と連携して使うための設定]] ← お薦めはこちら
-[[w32-symlinks を dired と連携して使うための設定]]
-[[Notepad を使って印刷するための設定(WSL 設定編)]]
-[[locate を使うための設定(WSL 設定編)]]
-[[WSL の Emacs から VSCode でファイルを開くための設定]]
-[[VSCode で開いているファイルを WSL の Emacs で開くための設定]]
-[[Windows の ssh から WSL2 の sshd に接続するための設定]]
&bold(){(関連)}
-[[WSL で cygstart 的コマンドを使うための設定]]
-[[singleton な動きをする cygstart 的コマンドを使うための設定 (WSL版)]]
&bold(){■ Emacs 全般で利用できる設定}
----
-[[shell-mode を使うための設定]]
-[[shell-mode で複数の漢字コードを混在して利用できるようにするための設定]]
-[[shellバッファ を簡単にポップアップするための設定]]
-[[dired を OS と連携して使うための設定]]
-[[dired をより便利に使うための設定]]
-[[dired でディレクトリのシンボリックリンクを実体のパスで開くための設定]]
-[[tramp を tramp-method “scp” で使うための設定]]
-[[tramp による接続先で Xクライアント を実行するための設定]]
-[[helm を使うための設定]]
-[[helm から comint の入力履歴を検索するための設定]]
-[[helm で peco もどきのコマンドを使うための設定]]
-[[ediff をスマートに使うための設定]]
-[[elscreen を使うための設定]]
-[[whitespace を使うための設定]]
-[[cua-mode を使うための設定]]
-[[multiple-cursors を使うための設定]]
-[[google-translate を使いやすくするための設定]]
&bold(){■ 説明ページを作るまでもない設定の紹介}
----
-沢山開いているバッファをできるだけ一度に閉じるための設定
(global-set-key (kbd "M-c") (lambda ()
(interactive)
(desktop-clear)
(tramp-cleanup-all-connections)))
-カレントバッファを一発で閉じるための設定
(global-set-key (kbd "M-k") (lambda ()
(interactive)
(kill-buffer (buffer-name))))
-ウィンドウの右端で改行をするかどうかを切り替えるための設定
(global-set-key (kbd "C-c C-<return>") 'toggle-truncate-lines)
-横スクロールするための設定(キー設定が逆の感覚の方もいるかも)
(global-set-key (kbd "C-,") 'scroll-left) ; < のキー
(global-set-key (kbd "C-.") 'scroll-right) ; > のキー
-other-window がなければ開き、その window に移動するための設定
http://d.hatena.ne.jp/rubikitch/20100210/emacs
(defun other-window-or-split ()
(interactive)
(when (one-window-p)
(split-window-sensibly))
(other-window 1))
(global-set-key (kbd "C-x o") 'other-window-or-split)
-2 分割しているバッファを入れ替えるための設定
http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=swap%20screen
(defun swap-screen-with-cursor()
"Swap two screen,with cursor in same buffer."
(interactive)
(let ((thiswin (selected-window))
(thisbuf (window-buffer)))
(other-window 1)
(set-window-buffer thiswin (window-buffer))
(set-window-buffer (selected-window) thisbuf)))
(global-set-key (kbd "M-t") 'swap-screen-with-cursor)
-バッファの分割方向を縦と横とで入れ替えるための設定
https://github.com/daichirata/emacs-rotate
(require 'rotate)
(setq rotate-functions '(rotate:even-horizontal rotate:even-vertical))
(global-set-key (kbd "M-\\") 'rotate-layout)
-tramp を使っていて、NTEmacs の起動が遅くなる場合に必要な設定
(require 'recentf)
(setq recentf-auto-cleanup 'never)
(recentf-mode 1)
-その他参考
http://www.clear-code.com/blog/2012/3/20.html
&bold(){■ おまけ}
----
-[[ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法1)]]
-[[ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法2)]]
-[[ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法3)]] ← お薦めはこちら
-[[Windows の操作を Emacs のキーバインドで行うための設定 (AutoHotKey版)]]
-[[Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版)]] ← お薦めはこちら
&bold(){■ その他}
----
-[[MobaXterm を使おう]]
-[[Windows で sshfs を使うお薦めのソフト]]
-Subversion には dsvn を使っています。melpa からインストールできます。
-Git には magit が便利です。
-Vimacs というのもあるんですね。Evil と逆の発想のものだと思います。
http://blog.cnu.jp/2009/07/28/vimacs/
http://uguisu.skr.jp/Windows/vim.html
-spacemacsというのも見つけました。Windows版 Emacs でも動いているようです。
https://github.com/syl20bnr/spacemacs
&bold(){■ 参考サイト}
----
・Manual
http://emacs.rubikitch.com/emacs245-manual-ja/
https://ayatakesi.github.io/
https://github.com/ayatakesi
・Lisp と JavaScript
https://www.slideshare.net/taiju/javascriptlisp
https://qiita.com/derui/items/6e8de68cc1b7295de3a6
・Common Lisp
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html
・functional-programming
https://postd.cc/an-introduction-to-functional-programming/
https://qiita.com/hiruberuto/items/26a813ab2b188ca39019
・nadvice
http://g000001.cddddr.org/3623238000
`:before' (lambda (&rest r) (apply FUNCTION r) (apply OLDFUN r))
`:after' (lambda (&rest r) (prog1 (apply OLDFUN r) (apply FUNCTION r)))
`:around' (lambda (&rest r) (apply FUNCTION OLDFUN r))
`:override' (lambda (&rest r) (apply FUNCTION r))
`:before-while' (lambda (&rest r) (and (apply FUNCTION r) (apply OLDFUN r)))
`:before-until' (lambda (&rest r) (or (apply FUNCTION r) (apply OLDFUN r)))
`:after-while' (lambda (&rest r) (and (apply OLDFUN r) (apply FUNCTION r)))
`:after-until' (lambda (&rest r) (or (apply OLDFUN r) (apply FUNCTION r)))
`:filter-args' (lambda (&rest r) (apply OLDFUN (funcall FUNCTION r)))
`:filter-return'(lambda (&rest r) (funcall FUNCTION (apply OLDFUN r)))
・generalized variables
http://kawabata.github.io/blog/2013-03-14-general-variables.html
http://qiita.com/kawabata@github/items/9a1a1e211c57a56578d8
・lexical-binding
http://sakito.jp/emacs/emacs24.html#emacs-lisp-lexical-binding
http://d.hatena.ne.jp/mhayashi1120/20130327/1364396586
・flet
http://ja.stackoverflow.com/questions/5458/flet%E3%81%A8cl-flet%E3%81%AE%E5%B7%AE%E7%95%B0
・noflet
http://emacs.rubikitch.com/noflet/
・function
http://www.mew.org/~kazu/doc/elisp/function.html
・custom-set-variables
http://kawamuray.hatenablog.com/entry/2013/11/03/180543
・buffer local variable
https://qiita.com/yoshrc/items/00f3c08f7a5cac911c3a
https://qiita.com/tadsan/items/9d287a57c26711387043
・Emacs
http://qiita.com/ytoda129/items/58078d8c7e74d9144014
https://miyazakikenji.wordpress.com/2015/08/11/ac-mozc-on-emacs25-in-ubuntu/(誤記有: apt-add repository -> apt-add-repository。インストールされるものが最新過ぎるかも。)
http://nkenbou.hatenablog.com/entry/2015/06/30/051408
http://askubuntu.com/questions/87872/how-do-i-accept-the-configuration-screen-that-pops-up-when-installing-postfix
http://tanehp.ec-net.jp/heppoko-lab/prog/zakki/emacs/emacs.html
http://d.hatena.ne.jp/tomoya/20081228/1230421982
http://blog.ichiroc.in/entry/2013/08/30/185953
・init-loader.el
http://d.hatena.ne.jp/gin0606/20111021/1319196327
http://tech.kayac.com/archive/divide-dot-emacs.html
http://qiita.com/catatsuy/items/5f1cd86e2522fd3384a0
・font
http://extra-vision.blogspot.com/2016/07/emacs.html
http://mix-mplus-ipa.osdn.jp/migu/
http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html
・dabbrev
http://konbu13.hatenablog.com/entry/2014/03/09/080947
・emacsclient
https://qiita.com/acple@github/items/4be7eb774a28d574281e
・helm
https://github.com/emacs-helm/helm/wiki
https://github.com/emacs-helm/helm/wiki/Developing
http://syohex.hatenablog.com/entry/2015/10/10/171926
https://masutaka.net/chalow/2014-04-02-1.html
・mozc
http://nyaruru.hatenablog.com/archive
http://d.hatena.ne.jp/rti7743/20100513/1273710518
https://www.codeproject.com/Articles/13724/Windows-IPC
http://myfuturesightforpast.blogspot.com/2015/08/googlemozcimewindowslinuxandroid.html
https://github.com/kento1218/mozc-incog-switcher
・Google日本語入力
https://productforums.google.com/forum/#!topic/ime-ja/5CCIenG_0Zw
https://productforums.google.com/forum/#!topic/ime-ja/xBJLDHyJVw0
・eclim
http://eclim.org
https://github.com/senny/emacs-eclim
・OminiSharp
https://github.com/omnisharp
・roslyn
https://www.buildinsider.net/enterprise/roslyn/01
・lsp
https://github.com/emacs-lsp
https://github.com/joaotavora/eglot
https://microsoft.github.io/language-server-protocol/implementors/servers/
https://qiita.com/blue0513/items/acc962738c7f4da26656
https://qiita.com/atsushieno/items/ce31df9bd88e98eec5c4
https://qiita.com/515hikaru/items/8b364b4d091459a85dc0
・TabNine
https://qiita.com/blue0513/items/2634fcb3757629124c87
https://qiita.com/gorogoroyasu/items/f49ee019ea886181d972
・IDE
https://www.mediamaxjapan.com/techblog/articles/lets-start-using-ide/
・WSL
https://opcdiary.net/?p=32284
https://qiita.com/nishemon/items/bb3aca972404f68bfcd6
https://qiita.com/zophos/items/5cf66385a88186c2fac9
http://ascii.jp/elem/000/001/278/1278792/
http://ascii.jp/elem/000/001/402/1402257/
https://ascii.jp/elem/000/001/803/1803883/
http://www.clear-code.com/blog/2017/11/8.html
https://www.atmarkit.co.jp/ait/articles/1711/09/news032.html
<for Windows 10 1803>
https://kledgeb.blogspot.jp/2018/03/wsl-142-windows-101803wsl.html
http://www.atmarkit.co.jp/ait/articles/1805/24/news022.html
<for Windows 10 1607>
https://github.com/goreliu/wsl-terminal
https://github.com/rprichard/wslbridge
https://github.com/xilun/cbwin
http://qiita.com/shiena/items/b8036514c217000a221
・WSL2
https://ascii.jp/elem/000/004/007/4007561/
・binfmt_misc
http://ascii.jp/elem/000/001/428/1428626/
https://qiita.com/lnznt/items/c729d80d0800a8f78298
http://archive.linux.or.jp/JF/JFdocs/kernel-docs-2.6/binfmt_misc.txt.html
・D-Bus
http://d.hatena.ne.jp/debug-ito/20130502/1367487352
http://www.usupi.org/sysad/175.html
http://www.usupi.org/sysad/176.html
http://wordpress.honobono-life.info/lin-base/linux%E3%81%AEdbus-daemon%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E6%A6%82%E8%A6%81/
・bash
http://www.akamoz.jp/you/uni/shellscript.htm
https://orebibou.com/2017/04/shopt%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%82%8Bbash%E3%81%AE%E4%BE%BF%E5%88%A9%E8%A8%AD%E5%AE%9A%E3%81%BE%E3%81%A8%E3%82%81/
・gsudo
https://qiita.com/_masa_u/items/a799745d70b30c32a03b
https://github.com/gerardog/gsudo
・stdbuf
https://linuxcommand.net/stdbuf/
・cocot
https://vmi.jp/software/cygwin/cocot.html
・ssh
http://kazuph.hateblo.jp/entry/2013/02/04/192358
http://qiita.com/kazuph/items/46e7f665f8c09ec29471
http://inaz2.hatenablog.com/entry/2013/04/30/221348
・ssh-agent-wsl
https://qiita.com/q1701/items/3cdc2d7ef7a3539f351d
・socat
http://racchai.hatenablog.com/entry/2016/04/14/173000
・SocksCap64
https://www.cup.com/staticip/manual/win_sockscap64.html
・Named Pipe TCP Proxy Utility
http://shvechkov.tripod.com/nptp.html
https://yamanxworld.blogspot.jp/2011/06/com-ems.html
・trac
http://blog.kyanny.me/entry/2011/11/19/023643
・DOS
https://goo.gl/rS2qoh
https://thinca.hatenablog.com/entry/20100210/1265813598
http://coelacanth-deepsea.hatenablog.com/entry/2013/01/13/162350
https://korokorokoron.hatenadiary.org/entries/2010/03/16
http://ykr414.com/dos/bat.html
http://pentan.info/server/windows/cmd/dp0.html
https://tunemicky.blogspot.com/2012/03/cmdexe-c.html
http://www.atmarkit.co.jp/ait/articles/1306/07/news111.html
・UAC
https://www.glamenv-septzen.net/view/832
・fsutil
http://www.atmarkit.co.jp/ait/articles/1306/28/news106.html
https://blogs.technet.microsoft.com/jpntsblog/2016/08/31/smbandsymlink/
・Windows Shortcut File Format
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/8bits/The_Windows_Shortcut_File_Format.pdf
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-shllink/16cb4ca1-9339-4d0c-a68d-bf1d6cc0f943
・Android
http://d.hatena.ne.jp/moerrari/20170723
http://ottan.xyz/android-linux-noroot-gui-5690/
http://qiita.com/z80oolong/items/4ef119a6af79a9276a0d
http://www.mhatta.org/wp/blog/2017/08/06/emacs-on-android/
・Keyhac
https://sites.google.com/site/craftware/keyhac-ja
https://github.com/crftwr/keyhac/blob/master/keyhac_main.py#L7-L21
・closure
http://www.lifewithpython.com/2014/09/python-use-closures.html?m=1
http://blog.starbug1.com/archives/290
・AutoHotKey
https://so-zou.jp/software/tool/system/auto-hot-key/introduction/
http://ahkwiki.net/Top
http://fxrobot.hatenablog.com/archive/category/AutoHotKey
・Bat To Exe Converter
http://blog.mukairiku.net/2012/10/%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92exe%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B-bat-to-exe-converter.html
http://www.f2ko.de/en/b2e.php
・Emacs keybind
https://linuxfan.info/emacs-key-theme
https://qiita.com/shiena/items/37032aacc241b1333e13
・xkeysnail
https://qiita.com/mooz@github/items/c5f25f27847333dd0b37
https://github.com/mooz/xkeysnail
・q-text-as-data
http://harelba.github.io/q/ja/
https://www.google.com/search?q=q-text-as-data
・qq
https://github.com/mattn/qq
https://mattn.kaoriya.net/software/lang/go/20160805190022.htm
・Open-usp-Tukubai
https://github.com/usp-engineers-community/Open-usp-Tukubai
・article
http://kledgeb.blogspot.jp/2016/07/wsl-31-windows-10ubuntuunityxubuntuxfce4.html
https://github.com/Microsoft/BashOnWindows/issues/637
http://www.zdnet.com/article/how-to-run-run-the-native-ubuntu-desktop-on-windows-10/
http://winaero.com/blog/run-ubuntu-unity-on-windows-10/
https://blogs.msdn.microsoft.com/wsl/2016/10/19/windows-and-ubuntu-interoperability/
http://kledgeb.blogspot.jp/2016/10/wsl-51-bashwindows.html
http://ascii.jp/elem/000/001/246/1246548/
http://ascii.jp/elem/000/001/250/1250797/
・MacOS
https://applech2.com/archives/45181430.html
https://applech2.com/archives/47447129.html
https://blog.amedama.jp/entry/lima-macos-amd64-vm
https://zenn.dev/ciloholic/articles/bbc6927ecfbdb4
https://qiita.com/chibiegg/items/eede37345f7058ce604d
https://dev.classmethod.jp/articles/intro-to-multipass/
----
#javascript(){{
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-40267130-1', 'atwiki.jp');
ga('send', 'pageview');
</script>
}}