プロが教える店舗&オフィスのセキュリティ対策術

質問します.お願いします.
まず最初にここにcygwinについて質問するのが妥当か
判断しかねたのですが一番近そうなので書きます.
質問は「emacsが終了できない」です.
win2000にcygwin(&emacs)をインストールしたのですが
ビープ音がうるさいので調べたところ
~/.inputrcに
set bell-style none
~/.vimrcに
set visualbell
を書けばよさそうだというところまでは調べられたの
ですがemacsでそのファイルを作って編集し,終了
しようとctrl-x ctrl-cで終了できませんでした.
具体的にはビープ音が鳴るだけでディスプレイに変化
がありません.
調べたところネット上には他にも同様の症状のユーザ
がいるようなのですが解決法がつかめませんでした.

----------------------------------
以下追加質問なので回答はなしでも構いません.
cygwin上のemacsのウィンドウ上部にメニューバーが
あるのですがクリックしてもプルダウンがでないのですが
使えるようにする為に必要な設定とかあるのでしょうか.
------------------------------
長くなってすみませんが以上が質問です.
ご回答いただければ幸いです.

[環境]
windows2000
emacs 21.2-8
cygwin ?(調べ方がわかりません.3ヶ月くらい前にネットからインストール)

A 回答 (3件)

ここまで質問が変わってきたのであれば、別に質問され直したほうがいいとは思いますが。



> VineLinux2.5なのですがヘルプ
これがどこにあるのか知りませんし、termcapも触ったことが無いのでよくはわかりませんが。
http://homepage2.nifty.com/hayamatta/script/vio3 …
これによると、環境変数$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では視覚化はできなかったのですか?
    • good
    • 0
この回答へのお礼

遅くなりました。
windows上のcygwinの方ですがtermcapを設定してみましたができませんでした。私の設定ミスかもしれませんが...
Linuxの~/.inputrcで設定したところVNC上でemacsの反転を
確認できました。
teratermからでは反転しませんでした。

windowsのcygwinは.emacs,.inputrc,.vimrcなど色々いじりましたができませんでした。

情報もだいぶ頂いたので後はLinux環境等に慣れていけば
わかると思うので打ちきりにさせて頂きます。
現状ではうまく質問もできていないと思いますので。
それでもわからなかったら再度投稿させて頂きます。
本当にありがとうございました。

お礼日時:2002/11/09 01:08

> 「画面の反転でビープを表現」にできませんでした


私もすこしやってみましたが、できませんでした。
bash、viの音を消すのだけは出来たのですが。
emacsの方に至っては消すことすらできませんでしたし。
このあたりはCygwinの制限、もしくはバグなのかもしれません。
何となく反転はDOS窓の制限、emacsは移植時の問題のような気がします。

あとは、Win2000上でBeep音自体を鳴らさないようにするぐらいですかね。
反転は無理ですけど。

参考URL:http://www.linux.or.jp/JF/JFdocs/Visual-Bell/app …

この回答への補足

ご丁寧にありがとうございます.
せっかく調べて頂いたのですが色々調べた結果
とりあえず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="という
行はいくつかあったのでエントリはされてるのかもしれません.

補足日時:2002/10/28 01:59
    • good
    • 0

ctrl-cがDOSの強制終了のコマンドと一緒なので、それと干渉しているような気がします。


~/.emacsに

(global-set-key "\C-x\C-q" 'save-buffers-kill-emacs)

と書きこめば、ctrl-x ctrl-qで終了できるようになりました。
とりあえず、メモ帳やviを使って作って見ればいかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます
ctrl-x ctrl-qでできました.確かに干渉している
気もします.
贅沢なのですができえればctrl-x ctrl-cにしたいので
もうしばらく締め切らないでおきます.
*補足に書くべきかもしれませんが質問に書いた方法
でビープ音を「画面の反転でビープを表現」にできませ
んでした.ご存じでしたら教えてください.

お礼日時:2002/10/26 11:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!