• ベストアンサー

viの動作が異常

環境:FreeBSD4.3 FreeBSDサーバーに対して、windows98からtelnetでのリモートアクセスで 作業をしているのですが、おかしな事象が発生してしまいました。 viエディターで、ある文書を開きます。(例えばreadme.txt) その状態から、画面を下にスクロールさせるために下キーを押すとします。 すると画面が下にスクロールせずにアルファベットの「B」が入力されてしまうのです。 同様に上キーを押すと「A」が、左キーだと「D」が、右キーだと「C」が入力されてしまい、 どうにもなりません。 それ以降は「:q」を入力しても何をしても無視されてしまいます。 telnetを強制終了するしか、そこを抜け出す手段がなくなります。 こうなってしまったタイミングはわかりません。 気がついたらこんな状態でした。 コマンド入力とかは普通にできます。 「vi」の動きだけがおかしくなってしまったのです。 ちなみにこの事象が起きるのはリモート操作の時のみです。 直接UNIXマシンで作業をすれば、正常にviを使えます。 こんなワケのわからない状態なのですが、何か解決方法があるのでしょうか? すみませんがアドバイスをよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mph
  • ベストアンサー率54% (39/72)
回答No.5

おかしいですね。 手元の環境ではwindowsのteraterm proからtelnetでログインして環境変数をvt100に設定している状態では矢印キーも効きます。 試したのはPC互換機のwin2000でHHKの場合とノート(IBM ThinPad)win2000日本語キーボードの2つです。 利用しているtelnetクライアントソフトがなにか知りませんが、矢印キーを押したときに送信されるキーコードがfreebsdのターミナル設定(terminfo)で定義されている矢印キーのキーコードと一致していないだけかもしれません。 これを確認するために初めてviで矢印キーを使いました。普通はhjklでしょう? windowsで使っているtelnetクライアントソフトがなにか知りませんが、そいつのマニュアルとログインしているfreebsdマシンの環境変数(term)を確認するのが最初かとおもいます。 freebsdとnetbsdにログインして確認したところterminfoはありませんでした。失礼。 /usr/share/etc/termcapがあるのでman 5 termcapをみながらオリジナルターミナル設定ファイルを書けばなんとでもなるでしょう。

その他の回答 (4)

  • mph
  • ベストアンサー率54% (39/72)
回答No.4

winのtelnetクライアントが送信するキーコードがサーバもしくはviの理解できない(または変なエスケープシーケンス)になっているのではないでしょうか? ファンクションキーや矢印キーやテンキーはキーコードが別なのでそれが原因だと思います。 今、netbsdとfreebsdにteraterm proのsshプラグインとteratermでログインしたらそのような現象には遭いませんでした。 telnetクライアントを交換すればよいと思います。 もちろん、端末設定をサーバがわにする方法もありますが、terminfo書けます?わたしはかけません。 あと、キーボートも多少関係するかもしれませんね。 今、HHKです。

masamisss
質問者

補足

telnetする端末が違っても結果は同じなんですよね。 クライアント側から操作する限りは。 ということはサーバー側の問題なんでしょうか。 ということはterminfoとかいうのをいじらなければならないんですか? そんなもの見たことも聞いたこともありません(^_^;

回答No.3

私も似たようになることがあります。 矢印キーはなったことはありませんが・・・ SSHでログインしているとまずテンキーがまったく使えません。(Viの時だけ) :q もつかえなくなるときがあります。 :q! で対応できるときもありますが不確実です。 ご存知かもしれませんが!を付加してあげれば強制的に終了になります。又書き換えもW!とすればリードオンリでも書き換えできます。 私が推測したことはキーボードの設定が違うことからうまく認識しないのでは?ということです。 何も解決策がでなくて申し訳ないです。

noname#1891
noname#1891
回答No.2

私は、PCからtelnetでAIXにつなぐときになったことがあります。 上下などのボタンを押す前にESCキーを押せば使えました。 (理由はわかりませんが。)

masamisss
質問者

補足

ESCキーを押した後、上下左右ボタンを押しても 結果が同じなんですよね。。すみません。

  • mixi
  • ベストアンサー率40% (143/356)
回答No.1

こんにちわ。 私はSolarisマシンへコンソール端末から接続した際になりました。この時はコンソール端末のせいでした。別のコンソール端末なら問題が無かったのですよ。 矢印キーの変わりに、HJKLの各キーでカーソルが動きます。これはどうでしたか?

masamisss
質問者

補足

HJKLの各キーなら上下左右の移動が可能です。 これらのキーに慣れるしかないんですかねぇ。。。 ちなみに、別のコンソール端末でも同様の事象が起きてしまいます。