こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

viエディタを使う理由

linuxでサーバを建てよう、みたいなサイトで、
confファイル等の設定で、必ず、クライアント機のwindowsから、sshで
viエディタを使う様に指示されているようですが、
viエディタて、癖があって嫌いなんですが、

それでも、サーバ等を建てる時はCUIでクライアント機のwindowsで
操作しなければならない理由って何なんでしょうか?

基本、GUIの方が解りやすいと思っているし、
海外のサイトだと、linuxの設定で普通にgeditを使っている方法を
掲載されているパターンを見かけるのですが、

そこまでしてViエディタを使わなければならないのでしょうか?
 
一度linuxでnvidiaのグラフィックドライバをいれる時大変やりずらかったです。

理由を教えてください。

因みに、サーバ構築は趣味の範囲内ですが、
やはり、プロのサーバ管理者とかはviエディタ、CUIでの作業が主なんでしょうか?

投稿日時 - 2014-04-26 18:48:16

QNo.8569873

暇なときに回答ください

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

単純問題、テキストエディタくらい、なんでもいいですよ。

設定ファイルをいじるときに、置換機能を使うこともそうそう無いでしょうし
せいぜい、検索ジャンプがあれば充分です。

その条件を満たせないテキストエディターを探すことは難しいでしょう。
EDLINとか、ASCII-netのラインエディターを体験した人も、もう少ないでしょうし。


ですから、~エディターを使ってのくだりは、スルーしていいんです。
ただ、それぞれの環境で導入済みのエディターを判別する手間を考えると
ほぼ常に入っているviを前提に書くのが簡単。操作手順を書けば手間はかかるけど簡単。
手間は、誰かがviの使い方を覚えるきっかけになるなら、無駄な手間ではありえない。


読んだ人は、geditがあることを知っていれば、スルーしてgeditを使えばいい。

ただ、Xubuntuとかだとgeditは入っていませんよ。
むしろgeditが入っているほうが少数派かもしれません。

もちろんkeditでもいいし、kateでもいい。
なんだったら、今時のEmacsを、キーボードショートカット無しでGUI操作して使ってもいい。

でも、そんなテキストエディターの名前をいろいろ覚えて
どれか無いか探す暇があったら、viを起動するほうが早い。


なお、viはXが正常起動しなくなった時に、原因究明や状況改善の過程で
重要な役割を担うこともあるので、サーバー管理をするなら、viの基本操作は把握しておくべきでしょう。

アマチュアなら、Windows風の管理で、「起動しなくなったら再インストール」
というノリなら、viを使わなくても良いかもしれません。


実際に、viしか使えない状況に陥ったことは、実験中以外にはほとんどありませんが
viのほかに、いつも使えるテキストエディターがあったかと言えば、そんなことはありません。

もしかしたら、今時はnanoがいつも使えたのかもしれませんが
多くのLinuxユーザーは、nanoがどういう環境に標準導入されているかを知らないでしょう。

ですから、そこを一度確認した人は、viではなく
nanoで編集するよう説明するかもしれません。


もともと、EDLINなどのラインエディターや、特有のUIを持つviは
入力端末とコンピューターの間の表示と入力の仕様制限に適応したものでした。

viの特徴のうち、軽量でターミナル上でそのまま起動できるという特徴は
nanoにも引き継がれていますから、ローカルやsshからの操作ならnanoで問題無いはずです。


でも、たぶんほとんどのLinuxユーザーはnanoの存在自体を忘れがちなんだ。

投稿日時 - 2014-04-26 21:17:51

補足

あぁ!nanoがありましたね。
その手があったか!という感じです。
sshからの操作はnanoでやれば良いのか!

あれはVi程癖が無いですからね…

Xubuntu gedit 入ってませか…
centOS、ubuntu ubuntu studioでは標準で
入ってましたけど…

投稿日時 - 2014-04-26 21:46:31

お礼

nanoで暫くしのいでみようかと思います。
有難う御座いました。

投稿日時 - 2014-05-03 17:41:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(8)

ANo.8

> linuxでサーバを建てよう、みたいなサイトで、
> confファイル等の設定で、必ず、クライアント機のwindowsから、sshで
> viエディタを使う様に指示されているようですが、

> そこまでしてViエディタを使わなければならないのでしょうか?

それはただの慣習ですね。「viエディタ」→「エディタ」と読み替えていただい
て構いません。ただ、Unix/Linuxの世界では、sed (ストリーム・エディタ)もエ
ディタに分類されるため、それと区別するために「viエディタ」と書かれること
が多いのではないかと思います。

> それでも、サーバ等を建てる時はCUIでクライアント機のwindowsで
> 操作しなければならない理由って何なんでしょうか?

いくつか挙げてみました。

- GUIがインストールされないことがある。(特にインターネットに公開するサーバ)
- データセンタなのでは、場所やコストの都合上、KVM (キーボード、モニタ、
マウス)が設置されていないことがある。(なので、Windowsでも、デフォルトで
リモート・デスクトップ使用なんてこともあるわけです。逆にUnix/Linuxでは、
SSHのX転送、XDMCP等を使えばリモート接続でもGUIを使用可能です)
- GUI使い勝手がよくない。(好みの問題)
- GUIは重い。(高負荷になっているときは、GUIだと起動することもままなりません)

> 因みに、サーバ構築は趣味の範囲内ですが、やはり、プロのサーバ管理者とか
> はviエディタ、CUIでの作業が主なんでしょうか?

GUIは手順化しにくいので、インストール時を除いて、GUIを使用するケースはあ
まり多くないように思います。CUIであれば、手順書にコマンドを書いておけば、
切り貼りしたりすることで手順のミスを防ぎやすいのですが、GUIだと画面を貼
り付けているだけなので、どうしても選択漏れやチェックし忘れとかの人為的な
ミスが発生しやすくなります。

あと、上でも書いたように、GUIは重いので、私は起動する手間を考えれば軽快
に動作するviを使用することがほとんどです。どうしても、GUIでやりたいとき
は、Winodws上で作成して貼り付けています。viとGUIエディタでは得意分野が違
うので、使い分けています。viは特に検索置換機能が好きかな。行の範囲を指定
して、部分的に一括置換とかできるので、インデント追加とかもやりやすいです。
逆に、手作業で書き換えをたくさんやるときはGUIの方がやりやすいように思い
ます。

余談ですが、GNU nanoは、CUIエディタですが、viやemacsほどクセがなく扱いや
すいかもしれません。入っているのであれば、試してみてはいかがでしょうか。

あと、Linux搭載のviは正しくはvimで、あれでもオリジナルのviからみると比べ
物にならないくらい使い勝手がいいのですよ。

投稿日時 - 2014-04-27 09:52:29

お礼

nanoはviよりは癖が無く使い勝手が良いようです。
でも、やはりサーバ建てるとかだったら
Viなんですね…はぁ…
有難う御座いました。

投稿日時 - 2014-05-03 17:34:24

ANo.7

> それでも、サーバ等を建てる時はCUIでクライアント機のwindowsで
> 操作しなければならない理由って何なんでしょうか?

CUIの長所、短所の通りでは?
http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9
http://okwave.jp/qa/q3050336.html

> そこまでしてViエディタを使わなければならないのでしょうか?

viは1976年に書かれて、歴史あるものですし、大抵のUnix系OSに最初から入っています。
http://en.wikipedia.org/wiki/Vi

趣味でちょこっと自分が管理しているサーバーをいじる程度なら、わざわざ覚える必要はないかもしれません。自分が趣味で管理しているサーバーには任意の自分が好きなエディターをインストールできますから。

他の人が管理しているUnix系OSのサーバーを使ったり、あるいはいろんな人が使用するサーバーの管理をしたりする場合、viが使えないと仕事にならないかもしれません。viが唯一のデフォルトで入っているスクリーンエディタということもままありますから。

> やはり、プロのサーバ管理者とかはviエディタ、CUIでの作業が主なんでしょうか?

viを常用するかはさておき、viで基本的なファイルの編集くらいはできて当たり前でしょうね。前述のとおり、viしかないということもままあるので。通信が悪かったりサーバーが過負荷だったりして、1文字打ってしばらくしてしか反応が来ない環境で作業する場合、本当に詰めviになることもあります。これって他のエディターだったらどうしてるんでしょうね。

Xをインストールしてないこともままあるので、CUIで作業できないと仕事にならないのではないでしょうか。あるいは、作業ログを残さないといけない場合、GUIでやると大変ですよね。CUIだと、打ったコマンドの一覧を保存しておけばよいですが。


viを使い始めるには、vilearnというviのチュートリアルを立ち上げるだけのソフトがあって、自分はそれにお世話になってviを覚えました。チュートリアルそのものはここにありますが、1 basicだけマスターすれば基本的な作業はできると思います。
http://sdphln.ucsd.edu/pcf/vilearn/

投稿日時 - 2014-04-27 09:40:43

お礼

サーバ建てるとかだったら、やはりViですか…
はぁ…気が重いです…
有難う御座いました。

投稿日時 - 2014-05-03 17:35:43

どうでもいい情報。。
こちら、Fedoraにて、
GUIでは、gedit emacs(GUI版)で立ち上がりますね。
が、GUIバージョンのemacsは恐ろしく使いにくい(w)
Xの上では、もっぱら、geditですね。
以前、ビレッジセンターがWZ EditerのXバージョンで
XZ Editerをフリーで配っていたのですが、復活してほしいですね。
(会社ごと)
それが、一番使いやすかった。。
当時Kondaraでしたが。内部Redhatクローンかな。

何がすばらしいって、Linuxって再起動しないのが、一番すごいなって
思いますよ。Windowsと、一番違うところとして。

カーネルすら、アンロード&リロードだけで、切り替えれるのですし。
第一カーネルソース見ると、よくあれで動いてるな?って
感心するほどですよ。

無意味な情報でした。

投稿日時 - 2014-04-27 00:47:45

ANo.5

レンタルサーバーを自宅から使うという前提で回答します。

一つには、Windowsでつかえるフリーの使いやすいXserverソフトがないと言うこともあるでしょう。
クライアントもLinuxなら、Xプロトコルでサーバー側のXクライアントソフトが使えるのですが。

また、自宅の回線が不安定だっりしていったん接続が切れたりすると、GUIだと再開できないんじゃないかなあ(想像)。
CUIだと、screenとかtmuxとかいう、回線がいったん切れても再接続するとさっきの続きが出来るようにするソフトもあります。私はADSLを使っていますが、モデムが週に数回再接続をしてIPアドレスが変わったりしているようです。だいじな作業中にその瞬間がかち合ったらたまらない。

上記前提でなく、自分がサーバーコンソールの前にいるのなら、GUIでもいいんじゃないですか。

あと、CUIの方がマウスを使わずキーボードだけですべて出来るので、早いと言うこともありますね。
同じようなことを繰り返すのも簡単だし。GUIはかったるいです。

投稿日時 - 2014-04-26 21:37:23

お礼

nanpでも良いみたいですね。viですか…
慣れれば、GUIはかったるいですか。
有難う御座いました。

投稿日時 - 2014-05-03 17:39:47

私は、emacs派かな(w)

ただ、サーバーでGUIを使うのは、それなりにクレイジーなので
コンソールコマンドと、コンソール系エディタはなれて損はないですね。
慣れてくると、逆にGUI怖くなりますよ。
(あちこち勝手に書き換えられて面倒です)
あと、仕事になってくると、
”どこを何から何に変更しました”と議事録を書くのも仕事なのですが、
GUIだと、知らないファイルまで書き換えられていたりして、
それ自体が、始末書につながることもありますから。

ちなみ、クライアントもLinuxにして、
そのLinuxでXを使うのはOKですよ。
結局CUIでしょうが。

投稿日時 - 2014-04-26 21:12:30

補足

GUI上のミス、
単純なんですが、誤ってwindowsのUSBHDDを
フォーマットしてしまったのです。
大量の音楽ファイルが入っていた外付けUSBHDDなのですが、
これをまた、CDから取り込む労力を考えると
鬱~な気分になります。
 あの時OSがlinuxでパーミッションを管理者権限にしておけば、気がつくキッカケにもなったんでしょうが…
 これも気軽にマウスで操作できてしまう、
windowsの諸刃の剣なんでしょうが…

 ちょっと例が違うかもしれないかもしれませんが、
こういう事もGUI操作の怖さなんでしょうか…

投稿日時 - 2014-04-26 22:25:11

ANo.2

サーバとして利用⇒サービス起動が主で、グラフィカルに利用することが目的ではない

無駄なメモリも容量も食います。


どうしてもGNOMEなどの利用が行いたいならそれで構いませんが、コマンドに慣れておいた
方が後々便利だと思いますよ。

投稿日時 - 2014-04-26 19:45:14

お礼

そうですね、
linux触り始めて半年以上立ちますが、
Viエディタの独特の操作法が、体に馴染めなくて
少しキレてました…

キレ気味の文章になってしまってすみませんでした。


反省しています…

投稿日時 - 2014-04-26 20:51:22

ANo.1

私がLinuxのサーバー構築とかやり始めたのはだいたい2000年くらいでしたから14年くらい前のことでした。そのときインターネット回線でだいたいの人がADSL環境で光回線とか使ってるひとはまだまだという感じでした。なので、通信スピードの関係上、リモートでも作業が可能なLinuxの特性上CUIでの作業で通信スピードが気にならなくて済むということでCUI作業を勧めているという感じがしました。

それと書式もviでの作業を紹介しているというのがほとんどなので、情報源としても手軽というのがあると思います。


ここ数年でネット環境も、またリモートデスクトップ環境もlinuxでもwindows環境でもものすごい進化していますし、たくさんの選択肢は増えている感じはしますが、どのディストリビューションでもCUI環境は共通操作方法だったので、愛用者が多いのでそのような傾向なんだと思います。

投稿日時 - 2014-04-26 19:03:27

補足

キレ気味の文章失礼しました。

で、やはりプロのlinux使いと(どこら辺までが
プロなのかは不明)なると、CUIオンリーなんですかね?

最近のlinuxはGUIがwindows位便利になっているので
デスクトップ環境で使えるOSでもある、
という認識から、このように軽くキレてしまった訳
なのです。

投稿日時 - 2014-04-26 20:59:25

あなたにオススメの質問