素人が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