Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Linuxを扱えるようになろう(vi/vimエディタ)

$
0
0

こんにんちわ
グローバルセンス株式会社のsknaehiraです。

前回では、Linuxの基本操作について書いたので、
今回はLinux上でテキストを編集するエディタvi/vimについて紹介していきます。

viはLinuxで標準で使用できるテキストエディタです。
そして、vimはそのviの拡張版になります。

違いに関しては、こちらの方を参照頂ければと思います。

最初に

viは編集モードとコマンドモードというのがあります。

編集モードはその名前の通り、ファイルの中身を編集するモードです。
ではコマンドモード?というとファイルの保存、文字検索をする時に使用するモードです。

最初はなれないと思いますが、
慣れたらどうってことないです。

では、使ってみましょう。

アジェンダ

  • ファイルを開く
  • ファイルを編集
  • ファイルを保存
  • 文字列の検索
  • 文字列の置換
  • エディタ終了

ファイルを開く

ファイルを開くときは以下の様に実行するだけです。

# vi 対象ファイル名
[skanehira@localhost ~]$ vi file

実行すると以下の画面になります。
存在しないファイルの場合は新規作成になるので、画面下部に[New File]と表示されます。
image.png

ファイルを開く時、オプションをつけることが出来ます。
基本使わないのですが、Rをつけると読み取り専用でファイルを開きます。
うっかり編集してしまわないようにしたいという方はRを付けて見て下さい。

[skanehira@localhost ~]$ vi -R file

ちなみに、読み取り専用で開いた後編集しようとすると画面下部に「W10: Warning: Changing a readonly file」と表示されます。

image.png

ファイルを編集

ファイルを開いた後に、iを入力すると編集モードに移行し
画面最下部にINSERTと表示されます。

image.png
image.png

ファイルを保存する

ファイルを保存するには編集モードを抜けてコマンドモードで保存する必要があります。
編集モードを抜けるには以下の幾つかやり方がありますので、好きなやり方で保存してみて下さい。

ちなみに、自分はEscが一番慣れています。

ショートカット
Ctr + [
Ctr + C
Esc

編集モードを抜けると以下の様にINSERTが表示されなくなります。
image.png

抜けた後は、[:w]と入力してEneterを押下すると保存されます。

image.png

保存後、「"file" 9L, 189C written」というように「ファイル名 行数, 文字数」が表示されます。
image.png

文字列の検索

文字列を検索する時は「/」を入力後検索したい文字を入力してEnterを押下して下さい。
image.png

この場合「ad」を検索する事になります。
検索した文字が見つかった場合、カーソルが移動します。
欲を言えば標準で色を付けてほしいところですかね。

image.png

検索に引っかかった文字が複数ある場合、そのまま「n」を押下すると次の文字にカーソルが移動します。
逆に前に移動したい時は「Shift + n」になります。

見つからない場合はこのようになります。(なぜこっちは色が付くのだ…)
image.png

文字列の置換

検索と来たらもちろん置換もあります。
文字列の置換のは場合は「:%s;置換対象文字;置換したい文字;g」を入力した後に以下の様に入力して下さい。

例えば、下記の場合は文字列aをpに置換します。
image.png
image.png

エディタを閉じる

保存してエディタを終了したい時に「:wq」を入力して下さい。
保存し後にエディタを閉じます。

逆に保存せずに終了したい場合は「:q!」と入力して下さい。
そうすれば編集内容が保存されずにエディタを閉じます。

最後に

最低限上記の操作をできるようになれば、
Linuxのコンソール上でもファイルの中身を編集できます。

次回はLinuxのパッケージ管理システムであるyumについて書いていきます。
仕組みと使い方が分かればソフトウェアのインストールは楽ちんですb


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>