質問させていただきます。[vi]エディタで、新規にファイルを開くコマンドを教えてください。[vi]を起動させるとき[vi]にファイル名を書いて起動させれば新しくファイルが作れますが、[vi]に何か書いているとき新しいファイルを開くにはどのようにすればよいのでしょうか。[:e]らしいのですが、今書いている[vi]の画面のまま、それまで書いていたものが消えて「新規のファイル」が開くというコマンドは無いのでしょうか。
 それと、[vi]を終了させずに[vi]の画面を閉じるというようなコマンドはありますか。初心者なので本で調べたのですが見つかりませんでした。[vi]を終了させれば閉じることはできますが、[vi]を終了させずに[vi]を閉じるなどという芸当はできるものなのでしょうか。ご存知でしたら教えてください。よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

普通に考えて、



:!vi (new filename)

ではどうでしょうか?
あとはもう一人ログインするとか。
(telnetの場合)
telnetクライアントをもう一つ起動

(X-Windowの場合)
ターミナルをもう一つ開く。

(マシンの前に座っててXを使ってない場合)
Alt+F*で複数ログインする

等。

Ctrl+ZでSuspendってのも一つの方法ですね。
他に方法がなかったら、私ならそれを使うかも。
(本当はAlt+F*でログインし直してますが)
    • good
    • 0
この回答へのお礼

御返答ありがとうございました。[vi]にはいろいろなコマンドがあるのですね。さっそく試してみます。会社の先輩が質問してきたので困っていたのですが、教えていただいたものを使ってみます。素人なりに自分で調べたのですが、[:!]というコマンドを使うと[vi]が終了せずにコマンドプロンプトが表示されるようなので、これでもいいのかな?と思ってます。よくわかりませんが、それも試してみます。会社の先輩は、私がわからないところを聞いてもほとんど教えてくれず「自分で調べて」というだけなのです。コマンドを間違えると「違う」というだけで正解を教えてくれません。知ってるなら教えてくれてもいいんじゃないかな?と思いながら[Linux]を教えてもらってます。
今回教えていただいたものでなんとかがんばってみます。ありがとうございました。

お礼日時:2000/12/21 06:26

私はその「!」のことをいったのですが・・・・


まぁ、解ったらいいですけど。
コンピュータの世界は次から次へと新しい技術が出てくるので、
そのうち誰に聞いても解らないなんてことが出てきます。
だから調べ方を知るのは必要でしょう。
応用力も必要です。
まだいいんですよ、viなんて正解がすぐわかりますから。
    • good
    • 0

・それまで書いていたものが消えて「新規のファイル」が開く



:e File名

ではだめでしょうか?

・[vi]を終了させずに[vi]を閉じる
 shellのジョブコントロール機能を使ってジョブをサスペンドするというのではいかがでしょうか?

□vi で入力モードとか、コマンドモードで無いときにctrl-z を入力するとジョブのサスペンド。
□シェルのコマンドプロンプトでjobsと入力することで現在のジョブ一覧表示。
□シェルのコマンドプロンプトでfg %1 とか入力することで元のジョブを再開。
    • good
    • 0
この回答へのお礼

御返答ありがとうございました。私は会社で先輩に[vi]を教えてもらっています。その先輩が[vi]を終了しないで閉じるコマンドとか、[vi]を使いながら新しいファイルを開くコマンドを聞いてきたのです。何も知らないので調べたのですがわかりませんでした。聞いても教えてくれず、「自分で調べて」というだけです。それで困っていたのです。御返答してくださったことに深く感謝いたします。サスペンドなどのコマンドを初めて知りました。さっそく試してみます。

お礼日時:2000/12/21 06:18

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qシェルコマンドの 2>&1 とはどういう意味でしょうか?

command > /dev/null 2>&1

というコマンドがありましたが意味がわからないので教えてください。
> /dev/null
部分は、出力を捨てるということだと思いますが、
2>&1
部分がわからないです。

Aベストアンサー

Unix ではファイル記述子というのがあって、番号、多くの場合 0, 1, 2 が使われます。0は入力、1は普通のメッセージ出力、2はエラーメッセージの出力というように使い分けされています。

さて、ご質問ですが、command > /dev/null という部分は、command の普通のメッセージ(ファイル記述子1番)を /dev/null というファイル(このファイルは特殊で、ここに出力された内容は全て捨てられます)に出力されます。で、残る "2>&1" という部分ですが、これは2番のファイル記述子を1番というファイル記述子にする、という意味になります。

従いまして、"command > /dev/null 2>&1" とすることで command からの全てのメッセージは(/dev/nullに)捨てられる、つまり、エラーがあろうがなかろうが出力されるメッセージは何もないことになります。


人気Q&Aランキング