viでカーソルキーが効かないNo.01844
johns さん 00/11/30 21:33
 
はじめまして。
いつも秀TermEvolutionを大変有意義に使わせて頂いております。

ところで最近、telnetでLinuxマシンにログインした後、viを
使おうとしても、カーソルキーが動作せずに困っております。
ちなみに、コマンドライン等、vi以外では正常に効いています。
(Win98SEおよびWin2000で再現)

以下が、viでホストプロパティを変更したときの挙動です。
[カーソルキー]のみをON
 →[[ などの制御文字が表示されるだけで、そのうちコアダンプする
[カーソルキー]と[VT100]をON
 →全く動作しない(実際には [[ 等が送られているようですが、
  ESC+[[が効いていないようです。

もちろんLinux上ではカーソルキーも効きますし、Win付属の
telnet.exeでは、VT100互換にすると正常に動作します。
(slackware/RedHat/Vineで確認)

原因がよく分からないのですが、もしかすると最近秀TermEvoの
バージョンアップを行ったせいではないかと思い始めました。
一度アンストールを行い、再インストールを行っても良いのですが、
数年分のホスト情報やストックファイル・パスワード等が存在する
ため、少々ためらっております。

何か良いお知恵がありましたら、何卒ご教示くださいませ。
よろしくお願いいたします。

[ ]
RE:01844 viでカーソルキーが効かないNo.01845
長澤薫 さん 00/12/01 08:48
 
こんにちは、長澤です。

> ところで最近、telnetでLinuxマシンにログインした後、viを
> 使おうとしても、カーソルキーが動作せずに困っております。

独自にキーアサインを変更していない限り、viでカーソルキーが動作
しないのは仕様通りだと思いますが? そーゆーことじゃなくて?


INSERT INTO YourNote(Name, EMail1, EMail2, Web, Message)
  VALUES('Kaoru Nagasawa',
         'curly@ic-net.or.jp', 'xxxxx@tohokuotas.co.jp',
         'http://www.ic-net.or.jp/home/curly/',
         '☆記念スタンプと旅もようの事なら!!');

[ ]
RE:01845 viでカーソルキーが効かないNo.01846
johns さん 00/12/01 09:03
 
長澤様、こんにちは。
お返事ありがとうございます。

>独自にキーアサインを変更していない限り、viでカーソルキーが動作
>しないのは仕様通りだと思いますが? そーゆーことじゃなくて?

最近のviはカーソルキーに対応しているはずだったと思います。

man viとしても

|       h      Move the cursor left one character.
|
|       j      Move the cursor down one line.
|
|       k      Move the cursor up one line.
|
|       l      Move the cursor right one character.
|
|       <cursor-arrows>
|              The cursor arrow keys should work, too.

と、「カーソルキーでも動く」と書かれていますし、実際
ローカルシェルとtelnet.exeでは動いております…。

もしかすると、秀まるお様が
| 01648 00/01/19 15:04  Windows2000対応まだでした  
にてお書きになった、問題なのかもしれません。
ただ、それではWin98SEで動かないのが、ちょっと気になります。

引き続き、ご回答よろしくお願いいたします。

[ ]
RE:01846 viでカーソルキーが効かないNo.01847
長澤薫 さん 00/12/01 09:48
 
こんにちは、長澤です。

> 最近のviはカーソルキーに対応しているはずだったと思います。
>
> |       <cursor-arrows>
> |              The cursor arrow keys should work, too.

おお、知らないウチにそんなアサインがスタンダードになって(?)
いるのですね。

すみません、井の中の蛙でした。

> ちなみに、コマンドライン等、vi以外では正常に効いています。

ってことは(たぶん)termcapのせいでもなさそうですね。近くにunix/linux
があれば実験するんですけど……申し訳ありません、力になれなさそ
うです。

// ウチのFM-V(Pentium166MHzのWintel的には非力なマシン)にLinux
// 入れてみるかな

INSERT INTO YourNote(Name, EMail1, EMail2, Web, Message)
  VALUES('Kaoru Nagasawa',
         'curly@ic-net.or.jp', 'xxxxx@tohokuotas.co.jp',
         'http://www.ic-net.or.jp/home/curly/',
         '☆記念スタンプと旅もようの事なら!!');

[ ]
RE:01847 viでカーソルキーが効かないNo.01848
秀まるお さん 00/12/04 18:32
 
 秀Termのホストプロパティで、「送信許可する制御コード」で「カーソルキー」と
「VT100互換」の両方をONにすれば直ると思いますが、ダメでしょか?


[ ]
RE:01848 viでカーソルキーが効かないNo.01849
johns さん 00/12/05 21:09
 
秀まるお様、こんにちは。
お返事ありがとうございます。

> 秀Termのホストプロパティで、「送信許可する制御コード」で「カーソルキー」と
>「VT100互換」の両方をONにすれば直ると思いますが、ダメでしょか?
>

昔はそれで有効になっていたのですが、最近のバージョンでは
どうも効かなくなっているようです。

お時間に余裕がございましたら、どうか一度見ていただけると
助かります。

#エディタはVzや秀丸エディタから入ったクチなので、やっぱり
個人的にはEmacs系よりカーソルキーの方が使いやすいんです。

[ ]
RE:01844 viでカーソルキーが効かないNo.01853
Kaisan さん 00/12/06 13:42
 
kaisanです。

一般的な話ですが、unix側の端末設定が間違えている可能性があります。
環境文字列TERMを確認してください。
「秀TermEvolution」を使ってログインして
 echo $TERM
と入力するとvt100と表示されればOKです。
#接続するクライアントによってTERMの値が変わることがあります。
設定がansiなどなっているとカーソルキーのコードが違うので受け付け
られません。

また関係ないと思いますが秀TermEvolutionで通信速度を極端に落とす設定が
されていないでしょうか?
あまりにも遅いとカーソルキーを複数のキーとして認識することが在ります。
#これは論理的にあり得ると言う話で実際は起こらないと思います。

暫定対策として、viのキーの割り当てを変更することができます。

$HOME/.exrcにキー割り当ての情報を記述します。

map △ [Ctrl]+[V][↑] △ k
map △ [Ctrl]+[V][→] △ l
map △ [Ctrl]+[V][←] △ h
map △ [Ctrl]+[V][↓] △ j

# △はスペース
# [Ctrl]+[V]はコントロールキーを押しながらVキーを押します
# ↑VIのコントロールコード入力モード

この設定による弊害が出にことを祈ります;;



On Thu, 30 Nov 2000 21:33:26 +0900
johns <xxxxxxxxxx@maruo.co.jp> wrote:

> ところで最近、telnetでLinuxマシンにログインした後、viを
> 使おうとしても、カーソルキーが動作せずに困っております。
> ちなみに、コマンドライン等、vi以外では正常に効いています。
> (Win98SEおよびWin2000で再現)

[ ]
RE:01849 viでカーソルキーが効かないNo.01856
秀まるお さん 00/12/07 18:05
 
> 昔はそれで有効になっていたのですが、最近のバージョンでは
> どうも効かなくなっているようです。

 ソースコードを確認したら、特におかいそうな所はありませんでした。それで、
「シリアルポートに接続...」とやって、「ローカルエコー」をONにしてログを取っ
てみたんですが、それでも正しく制御コードを送っているようです。

 ちなみに送る制御コードは、

 上  -->  Esc [ A
 下  -->  Esc [ B
 右  -->  Esc [ C
 左  -->  Esc [ D

 です。


[ ]
RE:01856 viでカーソルキーが効かないNo.01857
Kaisan さん 00/12/07 19:01
 
kaisanです。

On Thu, 07 Dec 2000 18:05:56 +0900
秀まるお <xxxxxxxxxx@maruo.co.jp> wrote:

>  ちなみに送る制御コードは、
>
>  上  -->  Esc [ A
>  下  -->  Esc [ B
>  右  -->  Esc [ C
>  左  -->  Esc [ D
>
通常は上記でよいのですが、vi実行中(アプリケーションキーパッドモード?)
では、

 上  -->  Esc O A
 下  -->  Esc O B
 右  -->  Esc O C
 左  -->  Esc O D
になっています。

キーマップを変えれば今のままでも動くので秀Termはこのままでもよいと
思います。
#hjkl 派なので人ごと

viなどCUIのコマンドを多用する方は端末エミュレータソフトを使った方が
よいと思います。(すみません>秀まるお様)

私はTeraTerm Proを愛用していますが、ウィンドウのサイズの変更をviが
追随するので重宝しています。

[ ]
RE:01853 viでカーソルキーが効かないNo.01860
johns さん 00/12/11 15:33
 
kaisan様、こんにちは。
お返事ありがとうございます。

>一般的な話ですが、unix側の端末設定が間違えている可能性があります。
>環境文字列TERMを確認してください。
>「秀TermEvolution」を使ってログインして
> echo $TERM
>と入力するとvt100と表示されればOKです。

それが、これがvt100なんです。
TERM=Linux
としてみても同様でした。

>また関係ないと思いますが秀TermEvolutionで通信速度を極端に落とす設定が
>されていないでしょうか?

これはモデム使用時のDTE/DCEのことですよね?
LAN接続ですので、これは問題ないと思います。

>暫定対策として、viのキーの割り当てを変更することができます。
>
>$HOME/.exrcにキー割り当ての情報を記述します。

ご教示ありがとうございます。
やはりキーマップの変更しかないのでしょうか…。
これをやるとbashのヒストリ等までが変わってしまう気がするので、
この際、もう諦めることにします。
色々とありがとうございました。

[ ]
RE:01857 viでカーソルキーが効かないNo.01861
johns さん 00/12/11 15:36
 
kaisan様

>viなどCUIのコマンドを多用する方は端末エミュレータソフトを使った方が
>よいと思います。(すみません>秀まるお様)

秀TermEvoは過去ログや検索などが充実していますから、一度
味をしめてしまうと、なかなか移行できません(^^;

>私はTeraTerm Proを愛用していますが、ウィンドウのサイズの変更をviが
>追随するので重宝しています。

秀TermEvoも追随するようです。(topなどでも同様)
ただ、一行入力モードで「vi hogehoge」などとしたときに、必ず
一行ずれてしまいますが…

[ ]
RE:01856 viでカーソルキーが効かないNo.01862
johns さん 00/12/11 15:38
 
秀まるお様

> ソースコードを確認したら、特におかいそうな所はありませんでした。それで、
>「シリアルポートに接続...」とやって、「ローカルエコー」をONにしてログを取っ
>てみたんですが、それでも正しく制御コードを送っているようです。

ありがとうございました。
viだけが特殊なキーコードを使用しているようですので、この件に
関しては諦めることにいたします。
お手数をおかけし、申し訳ございませんでした。

ところで、以前ssh対応についてのお話がございましたが、
ssh.exeというのをShellExecuteで呼んで、sshが開くローカルポートに
接続するようにすれば、簡単にsshが実現できるようです。
マクロレベルでは対応が難しそうですので、ぜひご検討くださると
助かります。

#あと、「ホスト一覧」でtelnet接続を選んだ際、ポートが
21固定になってしまうので、できれはhogehoge.foo.net:10021
のように、ポートも指定できると助かります。

[ ]
RE:01860 viでカーソルキーが効かないNo.01863
Kaisan さん 00/12/11 17:23
 
johns様
こんにちは、kaisanです。

On Mon, 11 Dec 2000 15:33:02 +0900
johns <xxxxxxxxxx@maruo.co.jp> wrote:
> やはりキーマップの変更しかないのでしょうか…。
> これをやるとbashのヒストリ等までが変わってしまう気がするので、
> この際、もう諦めることにします。

(B.exrcはexコマンド用の設定ファイルで、bashには影響しません。
exとvi/viewは動作が異なるだけで同じ物(ファイル)です。
# ex -v は vi、  ex -vR 又は vi -R はviewと同じ動作になります。

[ ]
RE:01862 viでカーソルキーが効かないNo.01864
ひろ さん 00/12/11 18:30
 
 johns さん今日は、ひろです。
> ところで、以前ssh対応についてのお話がございましたが、
> ssh.exeというのをShellExecuteで呼んで、sshが開くローカルポートに
 多分この話をしたのは私ですが、私の環境 Windows98 では標準ではあり
ません。それとも別途用意する tool でしょうか?

[ ]
RE:01864 viでカーソルキーが効かないNo.01865
johns さん 00/12/12 19:21
 
ひろ様

> 多分この話をしたのは私ですが、私の環境 Windows98 では標準ではあり
>ません。それとも別途用意する tool でしょうか?

はい。
http://www.ssh.fi/
からダウンロードできるGPLです。

port fowardingを使うので、sshdさえ動いていれば、理論的には
全てのTCPプロトコルでsshを用いた転送が使えるはずです。

詳しくは、ロボットサーチなどで「ssh.exe」と入力して調べて
みてください。

#Win環境では、もしかするとcygwinが必須かもしれません。
(sshはcygwinの中にも入ってます)
http://sources.redhat.com/cygwin/

[ ]
RE:01863 viでカーソルキーが効かないNo.01866
johns さん 00/12/12 19:22
 
kaisan様

>(B.exrcはexコマンド用の設定ファイルで、bashには影響しません。
>exとvi/viewは動作が異なるだけで同じ物(ファイル)です。
># ex -v は vi、  ex -vR 又は vi -R はviewと同じ動作になります。

これは勉強不足でした。
早速試してみたいと思います。
本当に助かりました。

ありがとうございました。

[ ]
RE:01865 viでカーソルキーが効かないNo.01867
ひろ さん 00/12/13 15:51
 
 johns さん今日は、ひろです。
> >ません。それとも別途用意する tool でしょうか?
>
> はい。
 とすると実装は難しいのではないでしょうか? 技術的ににではなく、
document の記載や support が面倒だと思います(^^;。

[ ]
RE:01862 viでカーソルキーが効かないNo.01869
秀まるお さん 00/12/15 10:35
 
> #あと、「ホスト一覧」でtelnet接続を選んだ際、ポートが
> 21固定になってしまうので、できれはhogehoge.foo.net:10021
> のように、ポートも指定できると助かります。

 「モデム...」でtelnet接続を選んだ時に、「ポート」というのが出てきまして、
そこが標準で「telnet」となってますが、そこに適当な数字(10021とか)を入れる
とポートが指定できます。

 ちなみに僕個人も秀ネットサーバーの管理用に、ポート指定で接続して使っていま
す。(専用のtelnetサーバーが23番とは別に動いてまして…)


[ ]