2021-05-31に投稿

サーバ入門5 vim基本操作

なぜvimが必要か

LinuxはWindowsと異なり、設定する値をテキストファイルに記述するものが多い。

vimとは

Linuxで標準的に使われているテキストエディタで、Windowsでいうところのメモ帳。
Linuxで利用されるエディタとして「emass」や「nano」がある。

vimの特徴 その1

基本は「hjkl」キーでカーソル移動をする。「h」は←、「j」は↓、「k」は↑、「l」は→の操作となる。
・ホームポジションから移動しない速度重視の設計
・十字キーでも移動できるが、できないサーバもある

vimの特徴 その2

モードで挙動が違う

ノーマルモード(Nomal mode)

・vim起動時に最初に入るモード
・hjklのカーソル移動はノーマルモードでできる。
文字入力はできない(a~Zまですべてコマンドとして割り当てられている。)
・ほかの各モードから戻るには、「Esc」もしくは、「Ctrl+[」キーを押す。
<コマンド>
x (カーソル上の1文字を削除)
dd (カーソルのある行を削除)
             etc...

コマンドラインモード(Command-line mode)

ノーマルモード上で「:」キーを押すとコマンドラインモードへ移行する。
<コマンド>
x(保存して終了)変更がないときはタイムスタンプの更新はない
q!(保存しないで強制終了) 変更があるときでも保存しないで終了する
  etc...
※慣れないうちは、保存の「x」と保存しないで終了の「q!」のコマンドを覚えておくとよい

インサートモード(Insert mode)

・文字入力や編集ができる
・ノーマルモード上で「i」、「a」、「o」等のキーを押すと固有の動作をしてインサートモードへ移行する。
※慣れないうちは「i」だけ覚えておけばOK
<コマンド>
i(カーソルの位置からInsert modeへ)

ビジュアルモード(Visual mode)

・文字の選択が行える
・ノーマルモード上で「v」キー等を押すとビジュアルモードへ移行する。

vimの起動

起動コマンドは、vimではなく「vi
例:vimでファイル「xyz」を作成  $vi xyz

vimモード切替

・開始直後は、ノーマルモードだが、現在が何モードなのか表示されない。
・「i」キーを押せばインサートモードに移行、「Esc」キーでノーマルモードに戻る
・「INSERT」の表示が消えれば、ノーマルモードに移行していることになる。

カーソル移動

・「hjkl」キーでカーソルを移動する。
・「w」や「b」を使うと、単語単位で高速移動ができる。

保存・終了

・「:」キーを押してコマンドラインモードへ移行
・左下に「:」の文字が表示されていればコマンドラインモード
・「:」の後に「x」を入力して「Enter」を実行すると保存・終了が行われCLIに戻る。

文字列の検索

・ノーマルモードで、「/」キーを押して検索コマンドラインへ移行、次に検索したい文字を入力
・検索したい文字が複数存在する場合は、「n」キーを押すと次の位置へカーソルが移動する。

文字及び行の削除

・「x」キーを押すと、カーソルの位置の文字が1文字削除される。
・1単語単位で削除する場合は「dw」、2単語の場合は「2dw
・行を丸ごと削除したい場合は、「dd

行コピー&ペースト

・「yy」キーを押すとカーソル行の文字全部をコピーする。ペーストするには「p」(カーソルの下の行へペースト)キーを使う

undo&redo

・「u」キーを押すとundo(やり直し) が行われる。押した回数分undoが行われる。
・「Ctrl+r」キーはredo(やり直しの取り消し) が行われる。押した回数分redoができる。

行数表示と行ジャンプ

行数表示や行ジャンプは、長文のテキストファイル編集時に役立つ。
・「:」キーでコマンドラインモードへ行き、「set nu」と入力して「Enter」を押せば、行数が表示される。※解除したい場合は「set nonu
・行ジャンプはノーマルモードで「[指定する行番号]gg」で行える。行番号を指定しない場合は(ggのみ)は先頭行へ移動、「G」は最終行に移動する。

ツイッターでシェア
みんなに共有、忘れないようにメモ

ko00w1

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント