素人がvimにプラグインを導入してみた。

[主題]
vimエディタへのプラグイン導入に当たって、筆者がつまずいた点を、備忘録として残したい。

[背景]
筆者は、vimエディタのずぶの素人である。本格的に触ったのは、2023/06/03のことだから、ウソ偽りもない、本当の素人だ。
閑話休題、筆者はMacユーザーだ。だが、コマンドラインの操作(CLI)を多用する。当然、CLIのエディタを使う機会がある。今まで愛用してきたのは、picoだ。だが、このpicoエディタには、長い文字列を書くと勝手に改行してしまうと言う問題がある。
そこで、長い間存在自体は知っていたが、使うことは避けてきたvimエディタに乗り換えることにした。
使い始めてみると、vimには、プラグインがあり、それを導入することで、色々機能拡張ができるらしい。ところが、その導入は、お世辞にも、初心者には簡単とは言えなかった。
これは、筆者が、あれこれつまずきながら、vimエディタにプラグインを導入して動くまでをつづった、血と汗と涙の記録である。(ちょっと大げさ)

[手順]

  1. vimパッケージマネージャ(プラグイン管理)の導入
    初めにパッケージマネージャを導入する。余談だが、パッケージマネージャと言えば、Mac用では、HomebrewやMacPortが有名だ。筆者は嫌いだが…。脱線するから、ここまでにしておく。
    vim用パッケージマネージャは、NeoBundleを使うことにする。いくつかのプラグインのREADMEを読んで、インストール手順のまちまちさに困惑した末の選択である。

    1. NeoBundleのインストール
      GitHubのページをなぞるだけだが、一応書いておく。

      cd ~
      curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh > install.sh
      sh ./install.sh
      rm install.sh
    2. NeoBundleを使用するための設定
      これも、GitHubのページをなぞるだけだが、一応書いておく。
      .vimrcに以下を追記する。魔法の呪文である。意味は理解していない。

      実行するコマンド

      cd ~
      vim .vimrc

      追記する内容

      " Note: Skip initialization for vim-tiny or vim-small.
      if 0 | endif
      
      if &compatible
      set nocompatible               " Be iMproved
      endif
      
      " Required:
      set runtimepath+=~/.vim/bundle/neobundle.vim/
      
      " Required:
      call neobundle#begin(expand('~/.vim/bundle/'))
      
      " Let NeoBundle manage NeoBundle
      " Required:
      NeoBundleFetch 'Shougo/neobundle.vim'
      
      " My Bundles here:
      " Refer to |:NeoBundle-examples|.
      " Note: You don't set neobundle setting in .gvimrc!
      
      call neobundle#end()
      
      " Required:
      filetype plugin indent on
      
      " If there are uninstalled bundles found on startup,
      " this will conveniently prompt you to install them.
      NeoBundleCheck
  2. プラグイン導入
    さて、魔法の呪文も唱えたことだし、プラグインを入れてみることにする。入れるのは、Emmetと呼ばれるHTML/CSS補完ツールである。

    実行するコマンド

    cd ~
    vim .vimrc

    追記する内容

    " HTML & CSS の入力補助
    NeoBundle 'mattn/emmet-vim'

    追記したら、コマンドモードで保存(:w)する。そして、コマンドモードで

    :NeoBundleInstall

    とタイプしてリターンキーを押す。すると、次の画面になる。

    インストール確認画面

    yキーを押し、リターンキーを押す。

    インストール完了画面

    リターンキーを押して終了。ここで.vimrcを閉じて、もう一度開くと…。

    エラーメッセージ

    エラーになる。開くものは.vimrcでなくても、新規ファイルでも同じだ。これが、第1のつまずきである。
    実は、これは、エラーメッセージの通りで、プラグイン導入の際に追記したNeoBundleコマンドの場所が悪かったのである。こんなことは誰も書いていない。一体どうなっているんだと、怒鳴りたい気分だが、気を取り直して.vimrcを修正することにする。

    実行するコマンド

    cd ~
    vim .vimrc

    修正する内容
    NeoBundleコマンドを移動する。修正をdiff形式で示す。

    --- a/.vimrc	2023-06-06 12:26:03
    +++ b/.vimrc	2023-06-06 12:30:18
    @@ -30,6 +30,9 @@
     " Refer to |:NeoBundle-examples|.
     " Note: You don't set neobundle setting in .gvimrc!
    
    +" HTML & CSS の入力補助
    +NeoBundle 'mattn/emmet-vim'
    +
     call neobundle#end()
    
     " Required:
    @@ -40,10 +43,6 @@
     NeoBundleCheck
    
    
    -" HTML & CSS の入力補助
    -NeoBundle 'mattn/emmet-vim'
    -
    -
     " HTML5文書用スニペットを上書き
     let g:user_emmet_settings = {
     \  'variables' : {
    

    今後、プラグインを追加する場合は、上記の魔法の呪文の間に書く。

  3. プラグインを使ってみる。
    やっとのことで、プラグインが導入できた。早速使ってみることにする。

    実行するコマンド

    vim test.html

    とやって…。開いた画面に

    html:5

    と入力。そのままCtrl+y+,とキーを押すが、何も起こらない。これが第2のつまずきである。筆者が齧ったどの記事でも、そのままでタグが展開されるように読み取れたのだが、間違いだろうか?

    種明かしをすると、Ctrl+y+,のキーバインドは、挿入モードではなく、コマンドモードで打つ必要があるのだ。vimユーザーならば当り前なのかも知れないが、素人には、分かろうはずもない。

    まぁ、とにかく、こうして、やっとのことで、めでたく下図のようにHTMLスニペットの展開ができたのであった。

    スニペット展開完了画面

[参考サイト]

[最後の一言]
この記事は、一部のインデント修正を除き、vimで作成した。無論、自慢である。w

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL