0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vimの機能紹介 | かごもく #40 開発環境の紹介

Last updated at Posted at 2021-03-30

この記事について

かごもく #40 開発環境の紹介で,Vim の紹介をするために用意しました.

Vimとは

Vim(ヴィム)は、vi から派生し、発展した高機能なテキストエディタである。
-- wikipediaより

Why Vim?

  • 軽くてCUI環境で動く
  • キーバインドを覚えておくと色々なところで使える
  • Vim を使いこなしているとかっこいい
  • Vim vs Emacs の宗教戦争に Vim 勢として参戦できる

便利機能紹介

Vim には色々な機能やプラグインがありますが,少ないキー打数で使用頻度が高いものを紹介します.

※ | (vertical line) はカーソル位置を表します

テキストオブジェクト

(参考:text-objects | Vim日本語ドキュメント

「ダブルクォーテーションに囲まれている文字を全て変更したいなぁ~」なんてしょっちゅうですよね.
そんなときに便利なのがテキストオブジェクトです.

# ノーマルモード
print("foo|bar")

↑ の状態でci"と入力すると,

# 挿入モード
print("|")

サクッと編集できます.

ダブルクォーテーション以外にも,単語,文,段落,HTMLタグ, [], (), <>, {}, '', `` などのブロックの選択・変更が簡単に行えます.

最初のオペレータコマンドは,c(変更)以外にもd(削除),y(ヤンク)などのオペレータコマンドが使えます.

矩形ビジュアルモード

(参考:blockwise-operators | Vim日本語ドキュメント

「このクラスのメンバ変数を全部 const にしたいなぁ~」なんて毎日のことですよね.
そんなときに便利なのが矩形ビジュアルモードです.

# ノーマルモード
|var foo
var bar
var baz

↑ の状態で<Ctrl>ve3jcと入力すると,

# 挿入モード
| foo
 bar
 baz

↑ のようにvarが全て消えて挿入モードに入るので,挿入したい文字列(const)の後に<Esc>を入力すると,

# ノーマルモード
|const foo
const bar
const baz

簡単に変更が行えます.

f, Fコマンド

(参考:left-right-motions | Vim日本語ドキュメント

「この関数の3番目の引数のところまで移動したいなぁ~」なんて日常茶飯事ですよね.
そんなときに便利なのがf, Fコマンドです.

# ノーマルモード
|def my_function (first, second, third):
    pass

↑ の状態で2f,と入力すると,

# ノーマルモード
def my_function (first, second|, third):
    pass

fに続けて移動したい先の文字を入力するとカーソルが移動します.
Fの場合は,左の方向に検索してくれます.
派生コマンドとしてt, T, ;, ,があります.

おわりに

まだまだ Vim を使いこなせていませんが,もっと精進したいと思います.

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?