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

viで基本的なコマンドを覚えよう

$
0
0

 viで最低限必要なことを覚えておけば、設定ファイルのの編集ができるようになるから、次の章に進むのもよいと思う。ここでは、もう少し便利にviを使う方法を紹介したいと思います。

行番号がないなぁ

 viを起動すると行番号がないのに気づきますね。行番号がないと何かと不便ですね。そのような場合は以下のようにします。

 まずEscキーを押してコマンドモードにしてください。その後に以下のように入力してEnterを押してください。

:set number

 するとびっくり、行番号が左にでてきます。

うおー、viを再起動したら行番号が消えてしまった

 上記のコマンドは永続的に続くものじゃなくって、viを立ち上げている間だけ効力があります。そういう場合は、設定ファイルを使います。設定ファイルに記述しておけば、viを立ち上げたときにそのコマンドを実行してくれます。

 viの設定ファイルはユーザーのホームディレクトリにある.vimrcです。そんなファイルはないって? デフォルトでは存在しないので作成する必要がありますね。

cd ~
vi .vimrc

 cd ~とすることで、ホームディレクトリに移動することができます。チルダはユーザーのホームディレクトリを意味する特殊文字です。

 viを使って.vimrcを作成しましょう。そしてiを押して、編集モードになったら次のように入力しましょう。

set number

 viの設定ファイルに書く場合は、コロンは先頭にはいりません。コロンなしで書きます。そしたらEscを押してコマンドモードになって、:wqと入力して保存して終了しましょう。するとファイルができています。

 Linuxでは.で始まるファイルは隠しファイルになります。設定ファイルは隠しファイルであることが多いです。通常のlsコマンドでは、ファイルに一覧されませんがaオプションを使うと隠しファイルを含めて見ることができます。

ls -a

 これで.vimrcというファイルができていることが確認できましたね。viでテキストファイルを開いてみましょう。行番号が最初から表示されるのがわかると思います。

タブで空白入力したい

 プログラマであれば、タブではなくって、タブキーで空白入力したい人も多いでしょう。

set expandtab

タブ幅を設定したい

 プログラマであればタブ幅も設定したいですね。

set tabstop=2

改行したときに字下げをしたい

 プログラマであれば改行したときに、先頭に戻るのではなくって、字下げをしたいですね。

set autoindent

設定ファイルが大きいので、ファイルの末尾に移動したいぞ

 末尾に移動したい場合はコマンドモードでGと打ちます。

G

好きな行番号に移動したいぞ

 好きな行番号に移動したい場合は数値Gとします。

1G
25G

 1Gだと1行目、25Gだと25行目に移動できます。

文字列を検索したいぞ

 検索したい場合はまずコマンドモードで、/と打ちます。スラッシュを打ちます。すると以下のようになります。

/

 そうしたらここに検索したい文字を打ち込みます。

/foo

 そうしたらEnterと押してください。これで検索ができます。次のマッチした位置に進みたいときはnを押します。戻りたい時はNを押します。これで検索ができます。

n 進む
N 戻る

コピーしたいぞ

 ちょっとまってください。この後にSSHを解説するときにTeratermというツールを紹介します。これを使うと、文字列を選択してコピーすることができます。

ペーストしたい

 これもTeratermを紹介するまで少しお待ちください。右クリックでペーストできます。

たくさんの範囲を削除したい

 deleteやback spaceでも削除できますが、いっぺんにたくさんの範囲を消したい場合がありますね。1行削除はコマンドモードで次のように打ちます。

dd

 複数行を削除したい場合はこの直前に、削除したい行数を記述します。

5dd

Perlを実行したいぞ

 サンプルコードにPerl入門ということで、viからperlを実行する方法を最後に紹介!

!perl スクリプト名

 これだけ覚えれば、設定ファイルの編集がだいぶ楽になると思います。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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