SSブログ

LinuxをWindowsで始める 3 [Linux]

これまでにBoWを入れ、コマンドを入力して基本的なところを見てきました。

http://miff.blog.so-net.ne.jp/2018-01-13
http://miff.blog.so-net.ne.jp/2018-02-13-1

Linuxの作業としてコマンドとテキストの編集がほとんどと書きましたが、次はテキストを書いていきます。エディタはviを使います。viをフルに使おうとすると厳しいです。というか、初めて使うエディタとしてはラインエディタ並みにお勧めできません。

なのにどうしてviを使うか。それはどの環境にも必ずと言っていいほど入っているからです。どうせならつぶしの利く技術を身につけたいところです。他に代替ツールもあります。ですが、やっぱりお作法としてviの使い方を知っておいた方が良いような気がするのです。そして、他のエディタは初見でもある程度使えるのに対して、viはある程度経験がないとつらいこともあります。なのでviを断行しますw。

ここで先ほどの代替案を見ていきましょう。


・emacs

かつてviとemacsのどっちを使うのかで宗教論争がありましたが、本来使いたいものを使えばいいのです。emacsは拡張性が高く自由にカスタマイズできます。動作が重いと言われていましたが、ハードウェアが進化した今となっては気になることもないでしょう。ただ設定ファイルを少し変更するくらいではあまりにも大げさすぎるきらいはあるのは否めません。そして、viのようにどの環境にもデフォルトで入っているものでもありません。これからガッツリLinuxを使うつもりであれば止めるつもりはありませんし、むしろ喜ぶべき事なのかもしれません。もちろんパッケージマネージャで後から簡単にインストールすることができます。Ubuntuだとsudo apt install emacsで入れられると思います。


・nano

たぶん名前の通りに動作が軽いのでしょうし、操作感としては一般的なエディタに近いものがあります。なので軽い設定ファイルの編集などはこれを使うのもいいと思いますが、今までの実績がとてもあると思えないのです。visudoというコマンドは/etc/sudoersを編集するコマンドですが、viと名前を冠しているくせにUbuntuではnanoで立ち上がります。意味が分かりませんw。ただviが直感的なものではないから、GNU nanoにしようという事になったのでしょうけど、ディストリビューションによって必ず入っているわけではありません(たぶん)が、後から入れるのは問題ないでしょう。


とviのメリットってどこにでも入っているだけじゃん、という結果になってしまいましたが、いざすんなり使えないとすごい困るのでやっておいて損はないでしょう。


まじめに覚えようとすると下のようなお決まりがあります。

https://docs.oracle.com/cd/E19253-01/816-3946/6ma6m5bnf/index.html

あまり分かりやすい説明ではないので、読むのも少ししんどいですね。かといって下のように掻い摘まれても、実際の作業時に情報が足りないかもなぁと思ったりもします。

http://www.gi.ce.t.kyoto-u.ac.jp/user/susaki/command/vi.html

必要十分な情報はあるのは問題ないのですが、やっぱり試行錯誤しないとつらいところはあるので、そこのところは十分遊びがてらに適当なテキストファイルを作って挙動を見ることが大事です。



捨ててもいいように前回のtestdirでやりたい放題やりましょう。まず
$ vi test

でtestというファイルで始めます。Linuxでは意識的に拡張子をつけても付けなくてもいいのですが、後でWindowsで開くことを考えるとtest.txtでもいいかもしれません。

空のファイルを開くことができるのですが、このままでは文字の入力さえできません。エディタなのにいきなり開いて文字入力ができないとは何事だと思うのもやむを得ませんが、viにはコマンドモードと入力モードがあるので、初めはコマンドモードになっていて入力できないという訳です。

insertのiを打つとそのあとアルファベットが打てます。これでやっとエディタらしいことができましたね。上のリンクでは、aとかiとかoとかありますが、どれか一つでも覚えておけば今は大丈夫です。昔はAじゃないとカーソル操作では行末に行けなかったりしましたが、今は改善されてそんなことはなくなっているようです。自分が使い良いように使うのがいいと思います。

そういえば、昔は上下左右のカーソルキーでは、入力モードでは変な文字が入力されて動かないという状態の時もありました。でも今はそんなことはありませんし、わざわざコマンドモードに変更してh, j, k, lのキーを押さなくてもカーソルキーを直接使ってカーソルを移動できます。ただvi系の操作を使えるlessコマンドではスクリーンのスクロールはjとkで上下させたりするので、そのキーバインドは覚えても損はないとは思います。

恐らく純粋なviの時代の話なんだと思いますが、今のviはvimなので少しづつ改良はされているみたいです。とはいえ、あまり大きな変更は今後もないとは思いますが。



色々打ってもらってそのファイルを保存したいと思います。まずはEscキーを押してコマンドモードにします。それから
:wq

と打つと保存して終了します。WriteしてQuitというコマンドですね。書き込んだ後保存しないで終了したい場合は、
:q!

Quitを強制的に発動という意味です。強制的というのはファイルの変更の保存をしていないからワーニングが出るため、強制的に終わらせるという明示的な命令が必要なわけです。なのでファイルの変更を加えない場合にはいらないのですが、私はいちいち判断する前に強制的に終わらせてしまった方が良い場合が多いので!はほとんどいつも付けています。

変更しないで終わるというのは意味のない事なんですが、/etcなどの設定ファイルをいじっていると元に戻したいなと思うときがあったりするので、全リセットするにはいい方法だと思います。逆に途中で保存したい場合には:wで保存できます。WindowsなどのエディタでCtrl+Sするのと同じですね。


testというファイルができていると思うので、lsコマンドで確認してみましょう。無事に保存できていればファイルが見つけられると思います。

作ったファイルを見るコマンドは
less test

でいけます。終わるときにはqを入力します。





色々コマンドがある中で普段使っているのは、コピペ(ヤンク)と検索ぐらいですね。
あと行削除ddくらいですかね。

行のヤンクはyyかYで文字列をコピーします。
ペーストは貼りたいところでpを打てば貼れます。
特に難しいところはないですね。
設定ファイルでは元の行をコメントアウトしておいて、コピペして部分的に変更というようなことを日常的にするので、割と使う操作だと思います。


次に検索ですが/の後に検索ワードを入れます。次に同じワードで検索を続けるときはnを打ちます(nextのnと覚える?)。Nを打つと逆方向に検索をかけてくれます。これもlessコマンドなどでも応用できるので覚えておいて損はありません。


その他にいろいろとやれることはあるのでしょうけど、vi自体最低限の事しかしていないので、偉そうに教えられるのはこれくらいです。emacsにしてもviにしても使いこなそうとするときりがないので、便利なもの以外はほとんど使っていないです。さくっと設定してコマンドを動かしたいじゃないですか。だから変なところで知識をため込むよりか覚えることは山ほどあると思うんですよね。まぁつぶしの利く技術ではありますけれども。

とにかくviは良く使ってすんなりいくようにするのがいいと思います。そうすれば、Linux自体の操作が速く終わることになるし、間違いも少なくなるだろうし、間違っても修正も苦にならないと思います。Linuxはさくっと設定して後は動かしたまんま(デーモンなど)とか、コマンド終了を待って終わりということも多いのでさくっと手軽に終わらせたいところです。


これで一通りのLinuxの作業はしました。テキストファイルを編集して、コマンドを発行する。それでほとんどの事はできます。あとはその時々に必要なコマンドと知識を使ってやっていけばいいのです。ともあれ、Linuxの知識はOSSのツールも含めると膨大ですから、知らないといけないことは多いです。ただ、Windowsの上で動いているので、やらないで済むことは多いので初心者には楽ができていいのではないかと思います。


次にはaptパッケージマネージャでツールを入れて、それを使っていきたいと思います。今は依存性でこんがらがることも少ないので、すんなり終われるでしょう。


タグ:Linux入門
コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0