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

こっそり見てVimで最低限の作業をできるようになろう

$
0
0

はじめに

この記事では、Vimを使って最低限のファイル編集作業ができるようになることを目的としております。
・ローカル環境のLinuxでファイルの編集ってどうやるの。
・Vimのコピペってどうやるの?
・Vimでの検索の仕方って?
といった方々の一助となれば幸いです。

Vimのインストール

Vimのバージョンを確認して、インストールされているかを確認します。
インストールされていなければ、インストールを実施してください。

bash
# バージョンを確認$ vim --version# Vimをインストールする$ yum install vim

Vimのモードについて

Vimにはいくつかのモードが存在します。
最低限のファイルの編集であれば、ノーマルモードと挿入モードを切り替えられれば、ファイルを新規保存や編集が可能になります。
各モードでできる作業は、ざっくりとこんな感じです。

モード作業切り替えの入力キー
ノーマルカーソル移動、コピペなどEsc
挿入入力などi

実行の仕方

BashなどのCLI上で下記のコマンドを実行すればVimを実行できます。

bash
$ vim

ファイルを開く

Vimの実行の仕方がわかったところで、具体的な操作を見ていきます。
Vimを起動する際にファイル名を渡すか否かで、新規作成か既存ファイルの編集かが別れます。

bash
# 新規ファイル作成の場合$ vim

# 既存ファイルを開く場合$ vim <ファイル名>

基本的なカーソル移動

Vimでファイルを開けたら、次はカーソル移動です。
ノーマルモードで下記のキーを押したら、カーソル移動が行えます。
ホームポジションから手を動かすことなく、カーソル移動ができますね。
画面左下に「----INSERT----」と書かれていたら、挿入モードなので注意しましょう。

コマンド内容
h
j
k
l

便利なカーソル移動

VimにはHomeキーやEndキーのようなカーソル移動の他に、単語ごとの移動の仕方も存在します。
最初はとっつきにくいかもしれませんが、覚えると格段に早くカーソルを移動させることができます。

1つ注意点として、Vimはスペース以外にも,や(などの記号も単語の区切りとみなしますので、単語移動の際には注意が必要です。

コマンド内容
w次の単語の先頭に移動する
b前の単語の先頭に移動する
Wスペースのみを区切り文字と判断して次の単語の先頭に移動する
Bスペースのみを区切り文字と判断して前の単語の先頭に移動する
0行頭に移動する
$行末に移動する
gg1行目に移動する
G最後の行に移動する
<数字>G該当の行番号の先頭に移動する

行番号を表示するにはノーマルモードで下記のコマンドを実行します。

vim
:set number

ファイルの保存・vimの終了

カーソル移動の仕方を確認したら、ファイルの保存方法とvimの終了の仕方です。
下記のコマンドはノーマルモードで実行します。

コマンド内容
:q終了する
:w保存する
:w <ファイル名.拡張子>名前を付けて保存する
:q!ファイルを保存せずにvimを終了する
:wq保存してvimを終了する

ワンポイント

ファイルを編集して保存する際には、
①":w"で保存
②":q"でvimを終了する
という手順でできますが、それだと面倒なので、":wq"と入力して一度に保存とvimの終了を実行しちゃいましょう。

ファイルの編集

ファイルの保存方法まで確認したら、今度は文字の削除や文字入力についてです。
ノーマルモードで下記のコマンドを入力することでファイルの中身を編集していきます。
ノーマルモードから挿入モードに切り替える時は、"i"を入力すると書きましたが、"i"で挿入モードに切り替えるとカーソル位置の左側から文字入力が開始されます。行末から入力を開始したい時やファイルの最下部の不要な改行を削除するに特に不便ですので、"a"でも挿入モードに切り替えられることを覚えておくと良いと思います。

コマンド内容
x文字の削除
iカーソル位置の左側に文字を追加する
aカーソル位置の右側に文字を追加する
Iカーソル行の行頭に文字を追加する
Aカーソル行の行末に文字を追加する

コピー・ペースト・カット

先程確認した、カーソル移動と合わせることでVimのコピペが格段にしやすくなります。
使っているターミナルソフトによっては、通常のショートカットでコピペも可能ですが、Vim特有のコピペの仕方も覚えておくと、より作業スピードが上がります。

ヤンク

Vimではいわゆるコピーのことをヤンク(yank)と呼びます。
基本的に下記の形式でコマンドが成り立っていると意識すれば、動作内容が覚えやすくなります。

y+カーソル移動のコマンド
コマンド内容
y$行末までヤンク
y0行頭までヤンク
yl1文字をヤンク
yw, yb単語を1つヤンク
ygg最初の行までヤンク
yG最後の行までヤンク
yy現在カーソルのある行をヤンク

デリート

カットのことを、Vimではデリート(delete)と呼びます。
また、ヤンク同様にデリートのコマンドの形式はカーソル移動のコマンドとの組み合わせで覚えると良いです。

vim
d+カーソル移動のコマンド
コマンド内容
d$行末までデリート
d0行頭までデリート
x, dl1文字をデリート
dw, db単語を1つデリート
dgg最初の行までデリート
dG最後の行までデリート
dd現在カーソルのある行をデリート

プット

ペーストのことを、Vimではプット(put)と呼びます。
ヤンクやデリートした文字列は、pを入力することで貼り付けることができます。

コマンド内容
pカーソルから右側に貼り付ける

検索と置換

続いて検索と置換の仕方を見ていきます。
置換はコマンドの書き方が異なりますので、注意してください。

検索

コマンド内容
/<文字列>下方向に向かって<文字列>を検索する
?<文字列>上方向に向かって<文字列>を検索する
n次の検索結果に移動する
N前の検索結果に移動する

置換

下記のコマンドは、ファイル内のすべての置換文字列を置換後文字列に一気に変換する処理のコマンドです。

vim
:%s/<置換元文字列>/<置換後文字列>/g

元に戻す

最後に、元に戻す処理の仕方を確認します。
Vim以外のテキストエディタ等で編集している際に、元に戻す時はCtrl + zを実行すると思います。
Vimで同様の処理をさせるにはノーマルモードで下記のコマンドを実行します。

コマンド内容
u直前の編集操作を取り消して前の状態に戻す
Ctrl + ruコマンドの処理を元に戻す

おわりに

こっそり見て終わる文量じゃなかった。。。


Viewing all articles
Browse latest Browse all 5657

Trending Articles



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