• 締切済み

viコマンドについて

UNIX初心者からの質問です。 viコマンドでファイルを作成していたのですが、ひとつの行に単語が2つあって、単語と単語の間に空マスができてました。 その空マスを消すために、xキーでひとつひとつ消していったら、先輩に効率悪すぎとしばかれてしまいました。。。 コマンドモードで一度に空マスを消すことってできるのでしょうか?? こんなファイルです。 ↓ LPL_ASASASA LPL_sasasasa LPL_dadadad LPL_WQWQWQQW 先輩に聞いても教えてもらえなく、困っております。 どなたかわかりましたら、教えてもらえないでしょうか???

みんなの回答

  • torntorn
  • ベストアンサー率22% (19/84)
回答No.1

その先輩があえて教えないのは「教えて君」にならないためでしょう。 技術者の教えて君は周りに迷惑なだけ http://www.google.co.jp/search?hl=ja&lr=&q=vi+%E7%BD%AE%E6%8F%9B&revid=1810450282&ei=MuNeS6P2DMuIkAX7--TsCw&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=2&ved=0CDsQ1QIoAQ この検索結果にヒントが転がっているのに

zen-mizuki
質問者

お礼

ありがとうございます。 %s/ //gで変換しようとしたんですが、ありませんとでたんですよね。。。 もしかしたら、スペースじゃなくて、TABだったのかなと今考えております。

関連するQ&A

  • viでのコメント文字入力

    vi初心者です。多数のサーバを管理しているため、viに慣れるようにがんばっています。 スクリプトファイルや設定ファイルをいじる際、「#」などのコメントアウト文字を行頭に入れる場面がよくあります。 viに詳しくないため、   ・コマンドモードで該当行に移動   ・入力モードに移って、#を入力   ・コマンドモードに戻って次の行へ移動   ・入力モードに移って、#を入力 を繰り返しています。 お尋ねしたいのは、   連続した数行の行頭にコメントアウト文字を効率よく   入力する方法 です。上手い方法があるのでしょうか? いろいろなサイトを見てみたのですが、分かりませんでした。今のやり方だと、一行ごとにモードを切り替えているため、効率が悪いように思うのです。 詳しい方のご回答をいただけると幸いです。よろしくお願いいたします!

  • viコマンドについて

    viコマンドを使用してファイルを編集したいのですがわからない ことがありましたので質問させていただきます。 皆様のお力をお貸しいただけないでしょうか。 仕様しているテキストエディタはviviであり、 勉強の一貫としてvi機能でファイル編集を行っています。 【内容】 行頭に下記の単語を含む行をファイルより抜き出したいと思って います。 ホスト名 IPアドレス サブネットマスク そのファイルは約25000行ほどありそれぞれの単語は5行間隔 などではなくランダム行毎に配置されています。 また、行頭の単語には似たようなものも存在しています。 ホスト数 IPMAP のように。  いくつか試してみたのですができませんでした。 :v/^[ホスト名|IPアドレス|サブネットマスク]/d :v/(^ホスト名|^IPアドレス|^サブネットマスク)/d :%g/^[^ホ|I|ス]/d 他にもいろいろ試したのですができませんでした。 『単語A or 単語B』の正規表現がわかっていないのが原因だとは 思っているのですが。。。 わかりずらい表現も多いかと思いますがご協力お願いいたします。

  • viで1度ヤンク連続ペーストの方法など

    viやvimのeditorで3つの質問です。 ヤンクした内容を連続してペーストする場合 どういう操作をすれば一番効率がいいのでしょう? "hoge"をヤンクして 複数行に渡ってペーストしたくても 一度ペーストするとヤンクバッファが空になってしまい 連続ペーストができなくて、またヤンクしてペースト、 ヤンクしてペーストと なんだか余計な操作をやっているようで 作業が面倒です。 もうひとつの質問は単語ヤンク(Not行ヤンク)した内容を 新たに改行してペーストする場面での効率的なやり方。 ywして単語をヤンクしたものを 次行を作成してペーストする時 わざわざoコマンドで挿入モードで改行して またエスケープキーでコマンドモードに移って pしていますが なんだか自分のやり方はえらくアホな感じがして もっと効率的なコマンドはありますか? あとviのコマンドモードのControl+Gってどのような コマンドでしたでしょうか? どうかよろしくお願いします。

  • viエディターのコマンドを教えてください。

    UNIXマシーンでviコマンドを使ってテキスト編集をしたいのですが、複数ある決まった一行を別の一行に一括変換するコマンドを教えてください。ちなみに初心者です。

  • [vi]エディタ;ファイルを開く・閉じるコマンドとは?

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

  • vi などでのスクロール

    vi とかでファイルを開いたとき、行数が多いと表示がザーっと流れてしまいますが、一行一行送りながら見られるようにするにはどうすればいいのでしょうか?確か何かのキーを押せばよかった気がするのですが思い出せません。

  • viの操作の特殊性

    エディタの「vi」についてなのですが、 なぜ特殊なコマンドが多いのか、疑問に思ってます。 :wや:q、ZZは別に構わないのですが、 カーソルのかわりにhjklを使ってみたり、 Deleteのかわりにxを使ってみたり、 HomeやEndのかわりに0や$を使ってみたり… ("かわり"という表現は正しくないかな) そういうキーを使えない理由があるのでしょうか。

  • viエディタのexモードで「:i」と入力したら他のモードに戻れなくなった

    CentOSを使っています。Linux初心者です。 viエディタでexモードに移行した後、誤って:iと入力したところ、 一見入力モードのような状態になってしまい、 Excキー他、何を入力してもコマンドモードに戻れなくなりました。 (Excキーを押すと"^["と入力されます) この現象の原因や対処法をご存知の方、ぜひご教授願います。

  • viの操作を自動化(または同様のこと)したい

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

  • viの動作が異常

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