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

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

$
0
0

この記事は ウェブクルー 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さんです。よろしくお願い致します。

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

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


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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