@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

Tab補完と履歴について

1
投稿者投稿内容
ふく
常連さん
会議室デビュー日: 2005/11/15
投稿数: 25
投稿日時: 2006-10-18 15:05
現在客先でLinuxを使用しているのですが
あまり詳しくないので基本的な部分を教えてください。

k-shellだとTab補完ができるというのを調べたのですが、
実際にやってみるとTab補完してくれません。
普通にTabが挿入されてしまいます。

また、履歴も同様でテンキーを押すと^[[Aなどの文字列が返ってきます。

コンソールでecho $SHELLと入力すると
/bin/ksh
と返ってきますので、k-shellを使っていると思うのですが
何がいけないのでしょうか?

初歩的なことで申し訳ありませんが、ご教授の程よろしくお願いいたします。
SHR
ベテラン
会議室デビュー日: 2006/06/15
投稿数: 99
投稿日時: 2006-10-19 10:44
Tab補完は解りませんが、キー補完をしたいというだけであれば、
Escキーを2回押せば出来るかと思います。

履歴でテンキーを押すという行為が解りませんが、(カーソル?)
Ctrl+P、Ctrl+Nで出来ませんでしょうか?

ksh試せる環境が手元にない為、無責任な回答ですがお試し下さい。
ふく
常連さん
会議室デビュー日: 2005/11/15
投稿数: 25
投稿日時: 2006-10-19 13:14
SHRさん

レスありがとうございます。

> Tab補完は解りませんが、キー補完をしたいというだけであれば、
> Escキーを2回押せば出来るかと思います。
Escキーを押しても ^[ の記号が出ちゃいます。
2回押したら ^[^[ という具合です。

履歴は、一回打ったコマンド等をカーソルの↑↓で
もう一度同じコマンドを使えるものです。
テンキーじゃなかったですね。
申し訳ありません。m(__)m

どこのHPを見てもK-Shellならデフォルトで使えるような
言い回しなんですけど・・・
SHR
ベテラン
会議室デビュー日: 2006/06/15
投稿数: 99
投稿日時: 2006-10-19 16:40
なるほど。
シェルオプションが足りない気がします。

set -o をしてみて下さい。
emacsがoffになっていると思いませんでしょうか?
まずはこれをonにしてみて下さい。
set -o emacs で変更できます。
※変更したら、再度 set -o で正しいか確認して下さい。

これでCtrl+P、Ctrl+N(環境によっては↑↓)で履歴が、
ESC2回で補完されると思います。
※bashの補完と、やや使い勝手が違うかと思われますので注意

もしこれで対応できないようであれば、set -oの結果を貼り付けてみて下さい。

==以下追記編集======================
set -o emacs で変更…はONにするの意味です。
コマンドを繰り替えす事でON/OFFを切り替えるわけではなく、
-o でONに、+oでOFFになります。

[ メッセージ編集済み 編集者: SHR 編集日時 2006-10-19 16:47 ]
ふく
常連さん
会議室デビュー日: 2005/11/15
投稿数: 25
投稿日時: 2006-10-19 17:02
SHRさん

レスありがとうございます。

> emacsがoffになっていると思いませんでしょうか?
> まずはこれをonにしてみて下さい。
> set -o emacs で変更できます。
> ※変更したら、再度 set -o で正しいか確認して下さい。
お察しの通り、emacsがoffになってました。
ご教授いただいたやり方で履歴と補完ができるようになりました!
しかもオプションの説明までわかりやすく勉強になります。

本当にありがとうございました。m(__)m
1

スキルアップ/キャリアアップ(JOB@IT)