電子書籍の厳選無料作品が豊富!

よくhttpd.confの設定ファイルを編集するのですが、どのような編集をしたか
残すために設定ファイル中にコメントを残すのですが、別の方法としてviの操作を
スクリプトに記述しておいて、それを実行するだけ、みたいなことをしたいと
考えています。ちょっとやってみたのですが、コマンドモードや編集モードだと
うまく行くのですが、挿入モードになるとESCできなくなってその後の処理が
出来ません。何か良い方法は無いでしょうか?
ちなみにemacs・mule等は使用しない方針です。

----------------------------------------------------
vi /etc/httpd/conf/httpd.conf.bak
/Config
Y
5-
P
I   ・・・この辺までは問題なし

    ・・・ここでESCできないので次のZZが保存コマンドとして動かない
ZZ

A 回答 (5件)

#3です。


>ありがとうございます。vimでなくviでやりたいと思っています。
linuxの場合、viとして使われるのは、vim か nvi か elvis だと思っていたのですが、オリジナルの vi が入っているディストリビューションがあるのでしょうか?特定のディストリビューションの特定のviに限った話なら、ディストリビューションやviの種類やバージョンを書いたほうが良いと思います。

nvi だと入力のリダイレクト自体がエラーになりますね。
elvis だとESCのところでelvisが終了してしまう(質問者の状況と似ている)。

いずれにせよ、バージョン管理システム+patch が実用的です。
    • good
    • 0
この回答へのお礼

viでうまくいきました。ありがとうございます。
ちなみにごく標準的にインストールしたredhat9ではvimコマンドは使えませんでした。
rpmではvimでしたので、仰るとおり実体はvimなのだと思います。

お礼日時:2005/09/30 08:39

挿入コマンドの終了は ESC じゃなくって . (ピリオド) だけの行だったりするとか.


一応 sourceforge にころがっている vi のソース (に付属のマニュアル) を見てみましたが, :source では ex のコマンドしか受け付けない様子なので.
    • good
    • 0

FedoraCore4 の vim ではうまくいきますね。



$ cat -v aa
iaaaaa^[
ZZ
$ vim bb < aa
$ cat bb
aaaaa
$

>例えば遠隔地の顧客に設定ファイルを簡単に直させる際などを想定しています。
そういうときは、diffして遠隔地でpatchするんでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。vimでなくviでやりたいと思っています。
patchのほうは少し勉強してみます。

お礼日時:2005/09/29 18:40

#1 です.


まあ, バージョン管理はいかがなものかなぁと, 自分でも思わないでもないですが.
ところで, ^V ^[ (Ctrl-V ESC) はやってみました?
    • good
    • 0
この回答へのお礼

^[ はやってみてました。一応^V ^[もやってみましたがやはりそのまま
書き込まれます。引き続き良いヒントをお待ちしております。

お礼日時:2005/09/29 17:15

ん~, RCS なり CVS なり Subversion なりを検討してはいかがかと.

    • good
    • 0
この回答へのお礼

すいません。必ずしもバージョン管理だけが目的ではないのです。
例えば遠隔地の顧客に設定ファイルを簡単に直させる際などを想定しています。

お礼日時:2005/09/29 15:24

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