LoginSignup
4
1

More than 5 years have passed since last update.

コマンドvimについて(初歩的な部分)

Last updated at Posted at 2018-12-07

この記事は ウェブクルー Advent Calendar 2018の8日目の記事です。
昨日はk5jpWCさんの「業務フロー、整理してますか?」でした。
8日目は@hosokawaが担当致します。よろしくお願い致します。

はじめに

centosにおいていつもはviを使うのですがvimの方が多機能でオシャレなので少し調べました。基本的な操作を行うまでを記載しております。
御見苦しい点など多々ありますでしょうがどうぞご容赦ください。

vimとは

Viという世界でも広く使われているテキストエディタの拡張版
VimScriptというものでVimの拡張を自由に表現することが出来る

要するにviの細かいカスタマイズが出来る進化したバージョン。

インストール

ソースコードからインストールする場合もありますが今回はyum(パッケージ管理ソフト)を使います。

$ yum -y install vim-enhanced

とりあえず使ってみる

vimには通常のノーマルモードと入力時のインサートモードがあります。
ノーマルモードではテキストの閲覧のみで入力は出来ません。
入力時はインサートモード、カーソル移動などをするときはノーマルモードで移動したほうが安全です。

以下が簡単な操作です。

操作内容   コマンド   
インサートモード a or i
ノーマルモード esc
k
j
l
h
一文字削除 x
一行削除   dd
次行を新規行として挿入しインサートモード    (インサートモードにて)o      
設定内容を保存して終了 (ノーマルモードにて):wq or :x
設定内容を保存せず終了 (ノーマルモードにて):q!

vimで開いてノーマルモードからインサートモード(a)、入力したらノーマルモード(esc)に戻し保存(:wq)。て流れです。

続いては移動コマンドです。全てノーマルモードで行います。~~(移動はノーマルモード、入力はインサートモード。

操作内容   コマンド   
0      行頭へ
$      行末へ
gg ファイルの先頭へ
G ファイルの最終行へ
/ マッチする文字を検索し移動
w 次の単語の先頭へ
e      単語の最後へ
b       前の単語の先頭へ
Ctrl+f       次のページへ
Ctrl+b   前のページへ
操作内容   コマンド   
y コピー
Y      行をコピー
p ペースト
P 現在位置にペースト
x カーソル下の一文字を削除
d 削除
D     行内のカーソル以降を削除
dd 行を削除
u 元に戻す
C-R 操作を進める
r 変更(一文字)
R 変更(入力したもの全部)
c  一文字消してインサートモードへ
C 一行消してインサートモードへ
A 行末に移動してインサートモードへ
a カーソルの一つ右からインサートモードへ
I 行の始まり(文字の開始位置)からインサートモードへ
> 右へインデント
< 左へインデント
gu 小文字へ
gU 大文字へ
. 事前の操作を繰り返す

ここまではviとほとんど変わりません。
以降がvim特有のコマンドになります。

テキストオブジェクト

操作内容   コマンド
daw              カーソル前後の単語を削除する
da       カーソル前後()に囲まれた部分を()も含めて削除する           
di         カーソル前後の()に囲まれた部分を削除する
ca    カーソル前後()に囲まれた部分を()も含めて変更する
ci        カーソル前後の()に囲まれた部分を変更する
das               カーソル前後の文を削除する
dat              カーソル前後のタグを削除する

基本的な操作は以上になります。
続いてvim特有のモードについてご紹介します。

ビジュアルモード

ビジュアルモードではテキストを文字単位、行単位、矩形単位で選択し、選択したテキストに対してVimのコマンドを適用出来ます。
Vimでは3種類のビジュアルモードが使えます。
文字単位で選択するビジュアルモード、行単位で選択するビジュアルラインモード、矩形(長方形)で選択するビジュアルブロックモードの3種類です。
ノーマルモードで下記コマンドを入力するとそれぞれのビジュアルモードが使用できます。

操作内容   コマンド   
文字単位 v
行単位 V
短径 ctrl+l
ビジュアル解除 Esc

明日は、wc-takaharaさんです。よろしくお願い致します。

ウェブクルーでは一緒に働いていただける方を随時募集しております。
お気軽にエントリーくださいませ。

開発エンジニアの募集
フロントエンドエンジニアの募集

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1