vimの基本操作

はじめに

本日はvimの基本操作について紹介していきます。
この記事は初学者が初学者向けに書いております。

vimのモードについて

vimにはモードという概念が存在します。
カーソルの移動や削除、文字入力もキーボードで操作するので、モードが必要になりますよね。

基本となる3つのモードです。
Normal Mode
カーソルの移動、モード移行、削除、コピー(ヤンク)、ペーストなど
command Esc
Insert Mode
テキストの入力、編集
command i
Visual Mode
テキストの選択
command v

ファイルの保存や終了など

command :q! 終了
command :wq ファイルを保存して終了
command control + r ファイル名と行を表示
command :w ファイルの変更を保存する
commnad :w ファイル名 ファイル名を新しく保存する
command :!rm ファイルの削除(Linux,Mac
command :!del ファイルの削除(Windows

削除

command x カーソル上の文字を削除
command dw 単語の削除
command d$ カーソルから行末まで削除
command d4e カーソルから4単語を削除
command dd 行を削除
command 2dd 2行を削除

 カーソルの移動

command h 左に移動
command j 下に移動
command k 上に移動
command l 右に移動
command H 画面の一番上に移動
command M 画面の真ん中に移動
command L 画面の一番下に移動
command o 行頭に移動
command 2w 2個目の単語に移動
command 3e 3個目の単語の末に移動
command G ファイルの一番最後へ
command gg ファイルの一番最初へ
command 400G そのファイルの400行目に移動

 vimレジスタについて

vimにはレジスタという記憶領域があります。
とりあえずは、windowsクリップボードという認識で良いと思います。
command x,y,d などはレジスタに格納されることを覚えておきましょう。
command p レジスタを貼り付ける
command y 選択した文字をヤンク(コピー)する
command yy 行をヤンクする
command ye/yw 単語をヤンクする

入力関係

command a 行末に進んでInsert Modeへ
command r カーソルの文字を削除しInsert Modeへ移行。文字入力後に自動でNormal Modeへ移行する。
command ce カーソルから単語までを選択しInsert Modeへ移行。
command cc 行すべてを選択し、Insert Modeへ。
command c$ カーソルから行末までを選択し、Insert Modeへ。
command o(小文字) カーソルの下に行を追加し、Insert Modeへ
command O(大文字) カーソルの上に行を追加し、Insert Modeへ

検索関連

command / 検索ワード 検索をする(カーソルより後ろ)
command ? 検索ワード 検索をする(カーソルより前)
command n もう一度検索(うしろへ)
command N もう一度検索(まえへ)
command control + o 元の場所に戻る
command set ic 検索時に大文字、小文字を区別しない
command set is 検索フレーズに部分的にマッチしている箇所を表示する
command set hls マッチするすべてを強調表示
command nohlsearch 強調表示をやめる

該当する文字を変更する

command :s/error/errors その行の最初のerrorをerrorsにする
command :s/error/errors/g その行のすべてのerrorをerrorsにする
command :%s/error/errors/g ファイル全体のerrorをerrorsにする
command :%s/error/errors/gc ファイル全体のerrorをひとつひとつ確認しながらerrorsにする
command :551,580s/error/errors 551-580行のerrorをerrorsにする

その他コマンド

command : 外部コマンド待ち
command :! シェルコマンド待ち
command :r ファイル名 そのファイルを取り込み挿入する
command :help オンラインヘルプコマンドを開く
command % その括弧に対応する括弧に移動する
command u 最後のコマンドを取り消す
command U その行にしたコマンドをすべて取り消す
command control + r 取り消しを取り消す

おわりに

vimのコマンドについて、ざっと書いてみました。
まずは、基本の移動とモードを意識しながら できることを広げていけばと思いました。

個人的にはファイルの取り込みと挿入がとても便利そうだと思ったので、
専用フォルダを作成し、使いまわせそうなコードを貯めていきたいと思います。