「shell-mode を使うための設定」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
&bold(){■ Emacs 共通の設定}
----
&bold(){【お知らせ】}
----
&bold(){<2017/08/09 追記>}
本設定の代わりに以下の設定を行うと、shell-mode がより便利に利用できます。
・[[shellバッファ を簡単にポップアップするための設定]]
&bold(){<2015/12/11 追記>}
gnupack-13.02 での確認となりますが、.bashrc の初めの方に以下の設定を追加すると、shell-mode のバッファの表示がカラフルになるようです。
if [ "$INSIDE_EMACS" ]; then
TERM=emacs
fi
&bold(){<2015/07/26 追記>}
「[[fakecygpty を使うための設定]]」の見直しにより、MinGW版 Emacs 向けに必要だった shell の割り込みの設定が不要となりました。
&bold(){【本題】}
----
・【重要】 MinGW版 Emacs では、最初に「[[fakecygpty を使うための設定]]」を行ってください。
shell-mode を利用するための設定です。
(require 'shell)
(setq shell-file-name "/bin/bash") ; Mingw版 Emacs から Cygwin の bash を使う場合は、"bash" とすること
(setq shell-command-switch "-c")
(setq explicit-shell-file-name shell-file-name)
;; C-c s で shell を起動する
;; C-u C-c s で shell を追加起動する
(global-set-key (kbd "C-c s")
(lambda ()
(interactive)
(if current-prefix-arg
(shell (generate-new-buffer-name "*shell*"))
(shell))))
gnupack-11.00 までの gnupack を使っている場合は、事前に以下の設定を行い、既設定情報の削除を行ってください。(setup-cygwin.el や init.el で行われている設定の解除です。)
;; gnupack では、process-coding-system-alist 連想リストに shell関係の設定がしてあるので削除する
(setq process-coding-system-alist
(delq (assoc "bash" process-coding-system-alist) process-coding-system-alist))
(setq process-coding-system-alist
(delq (assoc ".*sh\\.exe" process-coding-system-alist) process-coding-system-alist))
;; gnupack の init.el 内で設定している shell-mode-hook の設定をクリアする
(setq shell-mode-hook nil)
----
<変更履歴>
・2012/09/16 shellバッファにコーディングシステムを設定する際の shellバッファ判定方法を改善した。
・2012/09/16 shellバッファの文字化け対策の advice を掛ける場所を変更した。
・2012/09/18 comint-quit-subjob の割り込み対策を追加した。
・2012/09/18 プロンプトの文字化け対策方法について、コメントへの記載を追加した。
・2012/11/20 shell-mode をリモートマシンに対して開いた際、バッファ名にログインユーザ&マシン名を表示するように修正した。
・2012/12/27 lambda関数のクォートをとった。
・2012/12/28 fakecygpty版プログラムを起動するための設定を「[[fakecygpty を使うための設定]]」に集約した。
・2014/05/09 フォーマット整形を行った。(内容変更はなし)
・2014/10/07 ページの構成を変更した。書いている内容に変更は無し。
・2015/05/15 shell-mode で複数の漢字コードを混在して利用できるようにするための設定の説明を別ページに切り分けた。
・2015/07/26 「[[fakecygpty を使うための設定]]」の見直しにより、MinGW版 Emacs 向けに必要だった shell の割り込みの設定が不要となった。
----
#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(){■ Emacs 共通の設定}
----
&bold(){【お知らせ】}
----
&bold(){<2017/08/09 追記>}
本設定の代わりに次の設定を行うと、shell-mode がより便利に利用できます。
・[[shellバッファ を簡単にポップアップするための設定]]
&bold(){<2015/12/11 追記>}
gnupack-13.02 での確認となりますが、.bashrc の初めの方に次の設定を追加すると、shell-mode のバッファの表示がカラフルになるようです。
if [ "$INSIDE_EMACS" ]; then
TERM=emacs
fi
&bold(){<2015/07/26 追記>}
「[[fakecygpty を使うための設定]]」の見直しにより、MinGW版 Emacs 向けに必要だった shell の割り込みの設定が不要となりました。
&bold(){【本題】}
----
・【重要】 MinGW版 Emacs では、最初に「[[fakecygpty を使うための設定]]」を行ってください。
shell-mode を利用するための設定です。
(require 'shell)
(setq shell-file-name "/bin/bash") ; Mingw版 Emacs から Cygwin の bash を使う場合は、"bash" とすること
(setq shell-command-switch "-c")
(setq explicit-shell-file-name shell-file-name)
;; C-c s で shell を起動する
;; C-u C-c s で shell を追加起動する
(global-set-key (kbd "C-c s")
(lambda ()
(interactive)
(if current-prefix-arg
(shell (generate-new-buffer-name "*shell*"))
(shell))))
gnupack-11.00 までの gnupack を使っている場合は、事前に次の設定を行い、既設定情報の削除を行ってください。(setup-cygwin.el や init.el で行われている設定の解除です。)
;; gnupack では、process-coding-system-alist 連想リストに shell関係の設定がしてあるので削除する
(setq process-coding-system-alist
(delq (assoc "bash" process-coding-system-alist) process-coding-system-alist))
(setq process-coding-system-alist
(delq (assoc ".*sh\\.exe" process-coding-system-alist) process-coding-system-alist))
;; gnupack の init.el 内で設定している shell-mode-hook の設定をクリアする
(setq shell-mode-hook nil)
----
<変更履歴>
・2012/09/16 shellバッファにコーディングシステムを設定する際の shellバッファ判定方法を改善した。
・2012/09/16 shellバッファの文字化け対策の advice を掛ける場所を変更した。
・2012/09/18 comint-quit-subjob の割り込み対策を追加した。
・2012/09/18 プロンプトの文字化け対策方法について、コメントへの記載を追加した。
・2012/11/20 shell-mode をリモートマシンに対して開いた際、バッファ名にログインユーザ&マシン名を表示するように修正した。
・2012/12/27 lambda関数のクォートをとった。
・2012/12/28 fakecygpty版プログラムを起動するための設定を「[[fakecygpty を使うための設定]]」に集約した。
・2014/05/09 フォーマット整形を行った。(内容変更はなし)
・2014/10/07 ページの構成を変更した。書いている内容に変更は無し。
・2015/05/15 shell-mode で複数の漢字コードを混在して利用できるようにするための設定の説明を別ページに切り分けた。
・2015/07/26 「[[fakecygpty を使うための設定]]」の見直しにより、MinGW版 Emacs 向けに必要だった shell の割り込みの設定が不要となった。
----
#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>
}}