- ベストアンサー
cygwin上でemacsの終了ができない
- cygwin上でemacsを終了する方法がわからないです。ビープ音が鳴りながら終了できない症状が発生しています。
- 質問者はcygwin上でemacsを使っており、終了する方法がわからないです。ビープ音が鳴るだけでディスプレイに変化がなく、他のユーザーも同様の症状を抱えているようです。
- cygwin上でemacsを使用している際に、終了する方法が分からない問題が発生しています。ビープ音が鳴るがディスプレイに変化がなく、他のユーザーも同様の症状を経験しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ここまで質問が変わってきたのであれば、別に質問され直したほうがいいとは思いますが。 > VineLinux2.5なのですがヘルプ これがどこにあるのか知りませんし、termcapも触ったことが無いのでよくはわかりませんが。 http://homepage2.nifty.com/hayamatta/script/vio3.html これによると、環境変数$TERMの中身に応じて、termcapの設定を呼び出すもののようです。 たとえばcygwinでは初期状態では$TERM=cygwinになっており、termcapからそれに関するものを抜き出すと cygwin:\ :xn@:op=\E[39;49m:Km=\E[M:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:tc=linux: となります。 要はここに:vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\を追記してやれば、反転が有効になるということだと思います。 cygwin:\ :xn@:vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:op=\E[39;49m:Km=\E[M:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:tc=linux: 最後にあった\が消えてますが、これは1行で書いたためです。 見やすくするため、改行を入れたときは行が続いていることを示すために\を行末に追加します。 cygwin:\ :xn@:vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\ :op=\E[39;49m:Km=\E[M:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:tc=linux: tc=linux:の後に\が無いのは、ここでcygwinの設定が終わっているということです。 vbの中にあるそれぞれの意味は、 \E7:カーソルの位置を保存 \E[?5h\E[?5l:点滅(反転させて元にもどす) \E8:カーソルの位置を戻す ということのようです。 ただ、これで視覚化ができるかどうか知りませんし、反転のような速い動きのものをVNCで見れるかは疑問です。 ところで~/.inputrcでは視覚化はできなかったのですか?
その他の回答 (2)
- hofuhofu
- ベストアンサー率70% (336/476)
> 「画面の反転でビープを表現」にできませんでした 私もすこしやってみましたが、できませんでした。 bash、viの音を消すのだけは出来たのですが。 emacsの方に至っては消すことすらできませんでしたし。 このあたりはCygwinの制限、もしくはバグなのかもしれません。 何となく反転はDOS窓の制限、emacsは移植時の問題のような気がします。 あとは、Win2000上でBeep音自体を鳴らさないようにするぐらいですかね。 反転は無理ですけど。
補足
ご丁寧にありがとうございます. せっかく調べて頂いたのですが色々調べた結果 とりあえずCygwinでやるのは諦めてLinuxにVNC を入れて作業をすることにしました. VineLinux2.5なのですがヘルプに 「ビープの視覚化」とあり "termcap(/etc/termcap)ファイルにvb機能のエントリー がまだ定義されてない場合は自分で以下のようにエントリを追加する事ができます. :vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\ "(\は実際にはバックスラッシュ) とあったのですがエントリなどの語の意味も含め全体的に 何をすればいいのかわからなかったので教えて頂けない でしょうか. ちなみに実際にファイルを開いたところ"vb="という 行はいくつかあったのでエントリはされてるのかもしれません.
- hofuhofu
- ベストアンサー率70% (336/476)
ctrl-cがDOSの強制終了のコマンドと一緒なので、それと干渉しているような気がします。 ~/.emacsに (global-set-key "\C-x\C-q" 'save-buffers-kill-emacs) と書きこめば、ctrl-x ctrl-qで終了できるようになりました。 とりあえず、メモ帳やviを使って作って見ればいかがでしょう。
お礼
ありがとうございます ctrl-x ctrl-qでできました.確かに干渉している 気もします. 贅沢なのですができえればctrl-x ctrl-cにしたいので もうしばらく締め切らないでおきます. *補足に書くべきかもしれませんが質問に書いた方法 でビープ音を「画面の反転でビープを表現」にできませ んでした.ご存じでしたら教えてください.
お礼
遅くなりました。 windows上のcygwinの方ですがtermcapを設定してみましたができませんでした。私の設定ミスかもしれませんが... Linuxの~/.inputrcで設定したところVNC上でemacsの反転を 確認できました。 teratermからでは反転しませんでした。 windowsのcygwinは.emacs,.inputrc,.vimrcなど色々いじりましたができませんでした。 情報もだいぶ頂いたので後はLinux環境等に慣れていけば わかると思うので打ちきりにさせて頂きます。 現状ではうまく質問もできていないと思いますので。 それでもわからなかったら再度投稿させて頂きます。 本当にありがとうございました。