今回は前回の続きでテキストエディタ(vim)の説明をしていきます。
もし前回のvimの操作等について読まれていない方は是非下の記事も読んでみてください。
https://www.miraclejob.com/recommend/detail?cd=4041
オペレータとモーション
vimコマンドにはオペレータとモーションという2つの要素からなっています。
・オペレータ
操作を表すコマンドです。
以下がオペレータの一部になります。
c:変更
d:削除
y:ヤンク
r:置換
v:選択
gu:アルファベットを小文字に変換
gU:アルファベットを大文字に変換
・モーション
カーソルを移動する位置を表したり、オペレータの対象となる範囲を表したりするキーです。
モーションはオペレータや数字と合わせて使用します。以下がモーションの一部です。
w:カーソル位置から単語末尾まで(空白を含む)
e:カーソル位置から単語末尾まで(空白を含まない)
$:カーソル位置から行末まで
※前回の「削除のやり方」にてdwやdeといった削除コマンドを紹介しましたが、それらはdというオペレータとwやeといったモーションを組み合わせているものになります。
ヤンク&プット
vimではコピーとペーストをそれぞれ、ヤンクとプットと言います。
・ヤンク
ヤンクはほとんどの場合、オペレータのvと一緒に使われます。vで選択した範囲に対してyを使用することで、選択した範囲のテキストをコピーします。これは、GUIのエディタにおいてマウスで範囲選択してコピーするのと同じことです。ほかにもモーションやカウントと組み合わせて様々なヤンクが可能です。
y:選択された範囲をヤンク
yy(Y):カーソルのある行をヤンク
yw:カーソル位置の単語をヤンク
y<移動コマンド>:現在カーソルのある位置から移動先までの範囲をヤンク
・プット
コピーしたり切り取ったテキストを貼り付けるにはpを使用します。カーソルのある行の下にテキストが貼り付けられます。
置き換えコマンド
カーソル位置のテキストを置き換えるにはrを使用します。そして、rの後に置き換えたい文字を入力します。
(例:uをeに置き換えたい場合→re)
複数字置き換える場合には、Rと打ち、その後に置き換えたい文字をタイプします。
(例:suをseに置き換えたい場合→Rse)
元に戻る(取り消し)コマンド
windowsでいうctrl+zをvimでやりたいときはuで戻ることができます。また、行単位で元に戻す場合は、Uを入力します。
もしも、uで操作を戻しすぎてしまった場合は、ctrl+Rで取り消すことができます。
検索コマンド
ファイル内におけるテキスト検索には、前方検索と後方検索があります。
・前方検索:〇〇から始まるワードを検索します。
・後方検索:〇〇で終わるワードを検索します。
前方検索を行うには、/を使用します。
/の後に検索したい文字列をうち、キーを押します。
nを繰り返し入力することで、同じ検索を繰り返し行えます。
逆検索を行う際には、Nを入力します。
※逆検索:前方・後方のどちらか一方に対するもう一方の検索方法のこと
後方検索を行うには、?を入力します。?の後に検索したい文字列を打ち、キーを押します。
テキストを修正するコマンド
テキストを修正するには次のようなコマンドを使用します。
:s/○○○/△△△:カーソルのある行の先頭の○○○という単語を△△△に置き換える
:s/○○○/△△△/g:カーソルのある行全体(global)で、すべての○○○という単語を△△△に置き換える
:%s/○○○/△△△/g:ファイル全体で、すべての○○○という単語を△△△に置き換える
:1,999s/○○○/△△△/g:1行目から999行目までの範囲で、○○○という単語を△△△に置き換える
:%s/○○○/△△△/gc:ファイル全体で1つ1つ確認(check)を取りながら、すべての○○○という単語を△△△に置き換える
ファイルの取り込みと合併
既存のファイルを取り込むこともできます。取り込みたい位置にカーソルを移動させ、:rでファイル名を指定します。さらには、外部コマンドの実行結果を取り込むことができます。
オプションの設定
vimにはオプションという操作を便利にするための機能があります。検索やテキストの置き換えを行う場合には特にその効果を発揮します。オプションを設定するには、コマンドモードで:set、もしくは、:seを使用します。
ignorecase:大文字・小文字を区別せずに検索する
number:行番号を表示する
cursorline:カーソルのある行にアンダーラインを付けて表示する
hlsearch:検索条件にマッチするテキストをハイライト表示する
incsearch:インクリメンタル検索を行う
また、上記のオプション名の先頭にnoとつけることでそのオプション設定をやめることができます。1つの検索コマンド実行時にあるオプション設定を外したいときには、検索ワードの末尾に\cを付けます。
※「\」はバックスラッシュに直す
さらに、:set option?と打つと特定のオプションの設定値を調べることができます。
~/.vimrc
vimの詳細な設定をするには、~/.vimrcファイルを編集します。:e ~/.vimrcというコマンドを実行することで、ホームディレクトリに.vimrcを作成できます。先ほどコマンドを実行して設定していたオプションをここにまとめておくことができます。
以上がvimの基本的な説明になります。覚える内容が多いですが、使う機会も多いので覚えてみてください!
また、これらのほかにもvimを起動したまま外部コマンドを実行できたりもするので、余力がある人は調べてみてください!