そんな今日この頃でして、、、

コード書いたり映画みたり。努力は苦手だから「楽しいこと」を探していきたい。

vimでのコーディングを快適にしてみるメモ

『Be mine!』買っちゃった!

Be mine!

Be mine!

ノリの良い曲調とひねりの聞いた歌声、意味深な歌詞が良い感じですな、超好みですたい。

『謀略のズヴィズダー』本編も、今のところ少なくとも表現レベルでは凄く楽しいし(タバコの回の押井作品みたいな偽史っぽいのツボった)、ああいうポップなノリからシリアスな方向に入っていく作品(明らかに「家族」が視界から逸らされてる感じとかキャラ構成が「擬似家族」な感じとか…)は大抵グッと来るわけで、今後の展開が楽しみでしょうがない今日この頃。

萌えっぽい絵柄だけで敬遠するには勿体無い作品ですよ!

(あれ擬似家族と捉えると、誰が母親にあたるんだろ? ロボ子…?



閑話休題

僕はサーバサイドエンジニアという立場柄、前職も今の職場もvimを使っている。

テキストの入力すら覚束なかったのも今は昔、最近じゃ普通のエディタでもうっかりvimコマンドを打ってしまうし、sublimeとか流行りのエディタを試してみてもマウスを使うのが億劫に感じる程度にはvimに染まってたりする。


さて、今回はvimプラグイン入れる話。

会社の環境だとvimのバージョンが古くて心が折れたのだけれど、自宅の環境でうまいことできたのでメモ。

NeoBundle

Shougo/neobundle.vim · GitHub

プラグインをそれぞれ手動でダウンロードして導入していくのはかったるい。

そんなわけで自動でインストールと管理ができるコレをまず入れる。

ダウンロード

$ mkdir ~/.vim/bundle
$ cd ~/.vim/bundle
$ git clone https://github.com/Shougo/neobundle.vim

設定記述

次に~/.vimrcに以下記述

if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#rc(expand('~/.vim/bundle/'))

NeoBundleFetch 'Shougo/neobundle.vim'

filetype plugin on

NeoBundleCheck

上記を保存後に再度vimを起動してみて特にエラーを吐かれなければOK。

いちおうvim内で: NeoBundleInstallとか打っておく。

何かあるとすればvimのバージョンとかディレクトリ間違いとかだろうか。

emmet-vim

mattn/emmet-vim · GitHub

名前だけは聞いたことがある「zen-coding」が改名されたやつらしい。

手で書くと糞面倒なhtmlの定形記述を簡単化してくれる。

設定記述

先ほどの~/.vimrcのNeoBundleCheckの上あたりに

NeoBundle 'mattn/emmet-vim'
let g:user_emmet_settings = {'lang' : 'ja'}

とか記述しておく。

導入

適当に$ vim index.htmlとかで起動すると、初回にインストールするか聞かれるので、適当に答えて進める。

※余談だけど、vimrcに記述する前にbundleにcloneするとかしちゃうと、既にあるよっつってインストールしてくれないけど使えもしない。

その場合は: NeoBundleInstallを打つ必要があるみたい。

使ってみる

公式にある例でいうと、適当なファイルに

html:5

とした後、同じ行で「CTRL(macでいうとcontrol)+y」の後に「,」を打つと…

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
</body>
</html>

てな具合に展開される。


個人的に使用する機会が多そうなとこでいうと、

  div>ol>li*5

とか打つと

<div>
  <ol>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ol>
</div>

てな具合。

使いこなせば凄く省力化出来そう!!

vim-surround

tpope/vim-surround · GitHub

ああだこうだと考えながらHTML作成してると、後でタグで括りたくなったりする。

設定記述

先ほどの~/.vimrcのNeoBundleCheckの上あたりに

NeoBundle 'tpope/vim-surround'

とか記述しておく。

導入

適当に$ vim index.htmlとかで(略

使ってみる

aaa

とか書いたらビジュアルモードで選択。

S<p>」と入力すると…

<p>aaa</p>

タグでくくってくれる!

emmetに比べると地味だけど、タグだったり「'」だったりと何かと使用機会は多いはず。



IDEとか便利なのはわかっちゃいるんだけど、サーバはShotgunとかのコードの変更を即時反映してくれるモードで動かしておけばプレビューにもさほど難儀しないし、面倒くさがりなのも手伝って結局「vimでいっか」になるんだよなぁ。