19
15

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 1 year has passed since last update.

VimAdvent Calendar 2022

Day 1

Dockerを使って気軽にVimに触れてみる

Last updated at Posted at 2023-02-19

Vimをやってみようと思ってもどこから始めたらいいのかよくわからない方もいらっしゃるかもしれません。

Vimの使い手は皆それぞれ設定を工夫して俺俺のやり方でやっているようです。まずは、誰かの設定ファイルを拝借して形から入ってみてもいいんじゃないかと考えています。

Dockerを使えば仮想マシン上でいろんな方々の設定ファイルを試してみることができますし、また失敗を気にせずに気軽にVimを楽しむことができます。

目標

  • Vimをあまり使ったことがない人が、Dockerコンテナのなかで安心してVimを楽しめるようにする。
  • 人の設定ファイルを拝借してどんなことをやってるのか試してみる。

要件

多分Dockerさえインストールされていれば大丈夫と思います。

$ which docker
/usr/local/bin/docker

$ docker --version
Docker version 20.10.22, build 3a2c30b

手元の環境

  • Apple M1 Pro
  • macOS 12.6
  • Docker 20.10.22
  • iterm2

もちろん自信のある方はDockerなしでご自身のPCに直接Vimをインストールして設定をしても大丈夫です。

.vimrc ファイル

Vimは何も設定しなくても使えるのですが、ほとんどの人が設定ファイルを作って自分の開発スタイルに適した環境を作っているようです。また、見た目や機能がかっこいいとそれがVimを使うモチベーションにもなります。

一番簡単な方法は ~/.vimrc ファイルを作りそこに設定を記述することです。

大きく分けて3つのことを記述します。

  • 利用したいプラグイン(第三者コード)
  • Vimの設定
  • 俺俺キーマップ(ショートカット)

Vim script

Vimに組み込まれたスクリプト言語です。~/.vimrc ファイルは基本的にVim scriptで書くのですが、Vim9から新しい言語Vim9scriptが導入されたようなので今後どうなるのかは不明です。また、NeovimではLuaが使用されることが多いようです。

Ubuntuコンテナを起動

PCのターミナルから以下のコマンドでUbuntuコンテナを起動します。docker runコマンドにオプションをつけて仮想端末で対話できる(-it)使い捨てのコンテナ(--rm)にしてます。

docker run -it --rm ubuntu bash

起動コマンドがbashなので、起動後すぐにbashのシェルが開きます。

cdを打ちホームディレクトリに入ります。

cd

pwdを打ち、現行ディレクトリが/rootであることを確認してください。

pwd 

CleanShot 2023-02-19 at 13.58.40@2x.png

パッケージをインストール

Ubuntuコンテナの中で最低限必要なパッケージをゲットします。

  • vim
  • curl - ファイルをウエブからダウンロードするため
  • git - git clone コマンドでコードをGithubからダウンロードするため
apt update
apt install curl git vim

何かコードをダウンロード

ホームディレクトリが空では寂しいのでなにかをgit cloneすると良いと思います。

ls -al

CleanShot_2023-02-19_at_14.13.352x.png

ここでは闘魂プロジェクト(TORIFUKUKaiou/toukon)をダウンロードします。

git clone https://github.com/TORIFUKUKaiou/toukon

初期設定のVimで遊んでみる

vimコマンドを打ちVimを起動します。ファイル名を指定するとそれが起点となります。ここでは.(現行ディレクトリ)を指定しています。

vim .

CleanShot 2023-02-19 at 14.22.08@2x.png

設定を何もしていないので、初期設定のVimが起動します。これでも色々遊べると思います。

失敗したと思ったら、Escキーを押してu(undo)を打つと元に戻せるので安心してください。uの逆はCtrl-r(redo)です。

Escキーを押して、:qを打つとVimから抜け出せます。

ファイルに変更があった場合は:q!で強制終了するか:wqで保存してから終了するかの2択になります。

余談ですが、なぜEscキーを押すかというとVimにはモードが複数ありまして、Escキーを押すとNORMALモードに戻れるからなんです。既にNORMALモードにいる場合はEscキーを押さなくてもいいです。Ctrl-cでもEscキーと同じことができます。Ctrl-cの方が押しやすいかもしれません。

:Ex:Exploreの短縮形)コマンドを打つとプロジェクト内のファイルのリストを表示することができます。

Vimにはバッファーとよばれるメモリー内に読み込まれたファイルが管理されていましてそれらを行ったりきたりすることができます。簡単なやり方はCtrl-oCtrl-iです。試しに遊んでみてください。

文章を編集するテクニックについてはあえてここ詳しくは触れませんが、いろんな技があり楽しいのでぜひ開拓してみてください。

一例として、カーソルを数字の上に置き増減させる技です。

  • Ctrl-a でふやす
  • Ctrl-x でへらす

誰かの設定ファイルを拝借する

ここでは一例として自分の.vimrcを使います。ネット上で多くの人がVimの設定を公開されています。

GithubのオンラインサイトのRawボタンを押すと、設定ファイルのURLが取得できます。

CleanShot 2023-02-19 at 10.15.40.png

URLの例:https://raw.githubusercontent.com/mnishiguchi/dotfiles/main/vimrc

設定ファイルのURLを取得できたら、それをUbuntuコンテナ内でダウンロードします。

以下のスクリプトは~/.vimrcを上書きするので自分の~/.vimrcが既にある場合は使用しないように注意してください。新しく起動したUbuntuコンテナ内で使用するのが前提です。

SRC=https://raw.githubusercontent.com/mnishiguchi/dotfiles/659ac43fd5a0fcf049622342e03a441d189cc9e7/vimrc
curl --output ~/.vimrc --location "$SRC"

Vimのプラグインマネージャ

たいていの人はVimのプラグインマネージャを利用してVimのプラグインを利用しています。世の中にはたくさんのプラグインマネージャがあるのでどれが使用されているのかを把握する必要があります。また、手順はプラグインマネージャにより異なると思われます。とはいってもプラグインのインストールを便利にするためのツールなのでどのプラグインマネージャでも簡単に使えるはずです。

今回使う設定ファイルではプラグインマネージャとしてJetpack.vimが使われているのでそれを取扱説明書に沿ってインストールします。

curl -fLo ~/.vim/pack/jetpack/opt/vim-jetpack/plugin/jetpack.vim --create-dirs https://raw.githubusercontent.com/tani/vim-jetpack/master/plugin/jetpack.vim

Vimを起動します。

vim .

プラグインが何もインストールされていない状態なのでエラーが出ることがありますが、この時点では気にしなくても良いです。迷わずENTERを押してください。

Error detected while processing /root/.vimrc:
line   64:
E185: Cannot find color scheme 'molokai'
Press ENTER or type command to continue

プラグインをインストールする方法はプラグインマネージャにより異なります。

Jetpack.vimの取扱説明書によると :JetpackSyncを打つと設定ファイルに記述されたプラグインがインストールされるそうなのでそのコマンドをVim起動後に打ちます。

一旦Vimを閉じて再度起動すると見た目が変わっていると思います。

設定適用後のVimで遊ぶ

初期設定でも使いこなせるようキーマップ(ショートカット)は最小限にしています。いろんな人のをみて、いいなと思ったのを残しました。

スペースキーをリーダーキー(俺俺コマンドを打つ前に打つもの)としました。例として二、三上げると

  • space p v - project view(プロジェクトのファイル一覧)
  • space p f - project find (プロジェクト内を検索)
  • space . - ~/.vimrcを開く

個人的にはあまり細かいことにこだわると時間が燃えてしまうし、使わない設定をしても意味がないので、少しずつ設定事項を増やしていくのが得策と感じました。

設定を変更してVimで遊ぶ

世の中には無数の設定のアイデアがあるので、楽しんでみてください。

Advent Calendar 2022完走賞をいただきました。ありがとうございます。

20230216_133626.jpg

本記事は以下のモクモク会での成果です。みなさんから刺激と元氣をいただき、ありがとうございました。

トラブルシューティング

色が変

マック標準のターミナルの中のUbuntuコンテナでやると色が変になる現象が起こると読者から寄せられました。@torifukukaiou さんありがとうございます。

原因はよく分かりません。:sweat_smile:

CleanShot 2023-02-20 at 07.14.49@2x.png

vim起動時にエラー

プラグインがインストールされていない状態でプラグイン関連のスクリプトが走るのが原因かもしれません。設定ファイルのよくわからない部分をコメントアウトしたり削除したりして小さく始めるのがいいかもしれません。興味のあるプラグインはあとからいつでも追加できます。

Neovimに挑戦したい

Neovimに挑戦したい方にはこれらがおすすめです。

19
15
2

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
19
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?