ラベル Vim script の投稿を表示しています。 すべての投稿を表示
ラベル Vim script の投稿を表示しています。 すべての投稿を表示

2014年7月11日金曜日

「Vim script テクニックバイブル ~Vim使いの魔法の杖」について

皆の者、我は暗黒美夢王である。執筆者の一人である Shougo に頼まれ、今回は我が「Vim script テクニックバイブル」の紹介を行う。
この書籍に関しては mattn 氏が既に紹介しているので、できるだけ被らない情報を出していくことにするぞ。

最初に注意してもらいたいが、これは「純粋な Vim script の学習のための本」であ
る。よって、Vim プラグインについては一部を除き全く取り上げていないので注意する
ように。Vim プラグインについて知りたかったら、前作である「Vim テクニックバイブル」を参照するのだ。もちろん、書籍中に暗黒美夢王が登場したりといったサプライズもないぞ。

これまで Vim script を学ぶ修行というのは険しく、辛いものであった。
我も「闇の Vim の使用法を極める」という職業柄、他人より「Vim scriptを学ぶにはど
うすればよいか」を聞かれることがあ り、その度に苦しんだ。我が Vim script を学ぶ
ことができたきっかけは Vim plugin を書いたからである。その上で、徐々に知識を
アップデートしていったのだ。

Vim script の知識は Vim plugin や Web, :help で吸収することができる。
しかし、 Vim plugin のソースコードや Web の情報は初心者には正しいかどうか分から
ないし、:help は内容が正確だが分かりにくい。
この書籍は執筆時点での最新版である Vim 7.4 に対応しているうえに執筆陣は大ベテラ
ンなので極めて信頼のおけるものである。「Vim script を学ぶためのとっかかり」と
なり、「迷ったときにすぐに戻ってこれる」ものとなるだろう。

これより、内容の紹介に移る。

第一章は Vim script の基本を解説している。紹介している事項は極めて基本的なもの
であるが、読者が Vim script について全く知らない場合は、ここを読むだけでも勉 強
になるであろう。

第二章は Vim script の実行方法と一通りの文法を解説している。第一章と同じく、初
心者には極めて有用な章である。

第三章は応用編となる。silent, execute, マッピングなど、Vim script を書く上
で重要なテクニックについて紹介している。これは本格的に Vim plugin を書きたい場
合に必要となる知識だ。

第四章は Vim script の実行方法である。Vim script はどのようにして実行されるのか
を知ることができる。キーマッピングや補完についても解説されている。

第五章は簡単な Vim plugin を作成し、これまでの復習を行う。

第六章は組み込み関数リファレンスである。Vim script でよく使われる関数をまと
め、:help に載っていない Tips 情報をできるだけ紹介した。これは書籍にしかできな
いことであり、この本はこの章だけでも購入する価値があるはずである。
ちなみに、Vim script のよく使う関数しか解説していないにもかかわらず、この章だけ
で 40 P を越えている。

第七章は上級編である。Vim script のデバッグ情報、高速化の方法、最小構成の作り
方、Web API を Vim から使う方法、vimproc、外部インタフェースについてなどが載っ
ている。

mattn 氏も書いているように、この書籍の執筆には KoRoN 氏の尽力が必要不可欠であっ
た。KoRoN 氏がいなければ、この本が出版されることはなかったであろう。我からも、
ここに感謝の意を表明しておきたい。

さて、豪華な執筆陣と確実な内容、賢明な読者は値段が気になっているのではないだろうか。
「でも、お高いんでしょう?」
「こんなにも内容が充実した書籍がなんと 2786 円(消費税 8% 税込) !」
消費税が上がり、世知辛い世の中になんと 2786円(消費税 8% 税込) なのである。
前作の Vim テクニックバイブル(3218 円:税込)よりも安く、値段が 3000 円を余裕で切ってい
るのはもはや脅威だ。個人的には 3000 円を切るか切らないかで書籍の購入のための心
理的障壁がかなり異なる。特に学生にはこの点が重要となるだろう。

これを読んでいる君、悪いことは言わない。この書籍の発売後には書店へ急ぐべきである。そして我の言っていることが真実であるのかどうか、その目で確かめてほしい。

2013年8月24日土曜日

実践 Vim レビュー

お久しぶりです。残念ながらこの本の翻訳にはほとんど関われていないのですが、とあるルートより見本誌を頂いてしまったため、今後の Vim 界の発展のためにもレビューをしたいと思います。

この本の原著は「Practical Vim」と言います。Vim 界の一部で有名で、貴重な Vim の書籍であるため、原著を私は入手しています。

この本のコンセプトは、「Vimの基本機能を丁寧に解説する」ことにあります。Vim の書籍はこれまでにもいろいろ出ていますが、「ViIMproved‐Vim完全バイブル」は記述が古すぎますし、「入門 vi/Vim」は vi の部分の解説が多すぎます。「Vimテクニックバイブル」はプラグインの解説に特化している……と Vim の基本をマスターしたい人にはなかなか良い選択肢がありませんでした。
しかし、「実践 Vim」はそのような本を求めていた人に是非お勧めしたいです。

「Vimの基本機能を解説する」といっても、舐めてはいけません。
Vimの基本機能というのはとても膨大です。「俺は Vim の :help をマスターしている」「俺は Vim である」「Vim は家族である」「マイフェイバリット言語はVim scriptだ」という一部の変態 Vimmer を除き、大抵のVimmer には新たな発見があることでしょう。

Vim の本なので、例えばこういった解説があります。

  • バッファリスト
  • ウインドウリスト
  •  タブページ
  •  引数リスト(:args)
  •  唐突に現れる Vim Ninja(P.170)。ちなみに原著にも登場。
  •  テキストオブジェクト
  •  ジャンプリスト/変更リスト
  •  レジスタ
  •  マクロ。なぜか一章 25P がまるまるマクロなので、某マクロ漁船な人も安心。
  •  quickfix
吹いたのは、「ダイヤル Xを回せ! 自動補完だ」という某章のタイトルです。ちょっと何を言っているのか 分かりませんでした。自動補完といいつつ、自動補完のプラグインの解説ではなく、Vim組み込みの手動 補完の解説なので注意。紛らわしいですが、原著の記述がそうなっているのでしょう。インサートモードの補完について、一通りの解説がされているので、補完フリークは必見です。

全体的に解説が丁寧なので、:help の無味乾燥な解説で挫折した人も Vim に再挑戦することができるでしょう。レビューするために一通り読んでみましたが、日本人の Vimmerがきちんとレビューしているので、記述がおかしい部分もありません。よくできた本です。

他に注目すべきポイントとしては、この本の著者が kana 氏のプラグインに感銘を受けていることでしょうか。kana 氏のプラグインは日本では有名ですが、外国ではマイナーなので、これは驚くべきことです。

この本を読んで、この本はほとんどプラグインについて触れていないので、物足りないと感じる人がいるかもしれません。大丈夫、そういう人のために「Vimテクニックバイブル」があるのです(宣伝)。しかし、「Vimテクニックバイブル」も Vim script に関してはほとんど解説できていないという欠点があります。皆さんが Vim の本や Vim 特集(エディタ特集)の雑誌を購入してくれれば、きっと出版社も「Vim script本はマニアックだけど需要があるからいける」という感触を持ってくれるはずです。ぜひ Vim 本(エディタ本)を応援してあげてください。

2012年9月8日土曜日

Shibuya.el の感想と(LT?)スライドの公開

先日行われた、Shibuya.elに参加してきました。残念ながら、Ustream等は行われなかったので、会場へ行けなかった皆さんはいったいどんな発表があるのか気になっていることでしょう。他の人も何人か感想記事を載せているようですが、思ったよりも少なかったので、私も感想記事を書いておこうと思います。

ainame            :  初めてのemacs lisp


ainameさんは、Shibuya.el を開催するために、Emacs Lisp を覚えたそうです。すごいですね。作ったのは、「hjkl-mode」という Emacs で vi キーバインディングを提供するメジャーモードのようです。コードを読む機会が多いので便利だそうです。この発表を聞いて私は、るびきちさんが以前設定を紹介していた、「view-modeでhjklで移動する設定」を思い出しました。

uk_ar               :  「Emacs Lispのテスト」について


Emacs標準のテストフレームワークであるERTの紹介です。テストフレームワークは作ったものの、なかなかテストを書けていない私には耳が痛い話でした。この発表を聞いて、私ももっとテストを書きたいと思いました。

Hiroaki Nagata : emacsとdvorak配列について


dvorak配列の宣伝でした。キーボード配列も一種の宗教ではないかと個人的には思います。こだわりのある人も多いですが、私はキーボード配列を変更するのはVim内だけで十分ですね……。

Yuto S Hayamizu : tokyo-emacs という歴史上の出来事


twittering-modeのはやみずさんの発表。さすがに発表がうまかったです。ホモ・イーマクスとホモ・ヴィムで吹きました。なぜ tokyo-emacs が無くなってしまったのかがよく理解できる話でした。勉強会は運営者に負荷が集中しがちなので、どうにかしたいところですね。これは別にEmacs勉強会に限った話ではなく、Vim勉強会でも問題になっている気がしています。

m2ym                    :最近作った拡張(popwin.elなど)について


LTなので時間は短かったはずなんですが、内容は濃く、よくまとまっていたと思います。m2ymさんのプラグインが実際に動いているところを見れてよかったです。Ruby 1.9対応のRSenSeの次期バージョンとか、新たな拡張機能の話とか、今後がとても気になる発表でした。

at_aka                    : clgrep.el について


前半はkinesisの宣伝w。後半はChangelogメモと、Changelogメモに特化したgrep拡張の話。エディタの中でメモを取る機能は一定の需要がありますよね。


ShougoMatsu    : 「Vimmerから見たEmacs」


私の発表です。

スライドの内容は見てもらったら分かると思います。

あ…ありのまま 今 起こった事を話すぜ!
『おれはShibuya.elのためにLTを作っていたと思ったらいつのまにか基調講演になっていた』
な… 何を言ってるのか わからねーと思うが
おれもどうしてこうなったのかわからなかった…

しんぱいしていましたが、こうひょうみたいでよかったです

懇親会


本日のメインです。私はずっとVimについて語っていたような気がします。「酔っているんですか?」と聞かれましたが、私は会場でお酒を飲んでいません。しいていうなら、「Vimに酔っていました」。
とりあえず、議論になったのはこういう話題です。

Vim(Emacs)でご飯を食べていくには
情熱Vimmer
仕事とVim(Emacs)
Vim(Emacs)拡張開発での苦労
勉強会主催者はマゾ
拡張機能のテストどうする?
m2ymさんと拡張機能開発あるある

印象に残ったやりとり:
私「m2ymさんはデフォルトのキーバインドを大事にされているのなら、もちろん<C-h>もそのままなんですよね?」
m2ym「いや、それはさすがに無理。私はヘルプをそんなに開かないんで」
「<C-h>はキーマッピングを変更させるための陰謀ではないか」

Emacs 勉強会に参加するのは初めてでしたが、特に Vimmerだから差別されるといったことはなく、和気あいあいと議論に参加できたと思います。また次回があれば、ぜひ参加したいですね。そのときには、自分の作ったVim のプラグインをEmacs ユーザに向けて紹介してみたいと思っています。

2012年5月27日日曜日

x86勉強会#2のスライドを公開しました(補足付き)


昨日(5/26)はx86勉強会#2でした。
他の人の発表内容については、他の人のブログ記事に期待するとして、私は当日の
発表スライドを公開しようと思います。

------------------------------------------------------------------------------------------

第一部:帰ってきたvinarise : Vim X バイナリ = 最強   (二ヶ国語放送)

# はじめに

* 今回のスライドは世界初!?(バイナリ/日本語)の二ヶ国語放送でおおくりしています。
* つまり、日本語よりバイナリのほうが堪能であったとしても大丈夫
* バイナリアンにやさしいプレゼンテーションです
* スライドの再生にはvinariseを使用しています(セルフプレゼンテーション)
* vinariseはプレゼンテーションツールだったんだよ!(な、なんだってーーAA略)

# 自己紹介

* 知っている人も多いと思いますが……。
* Shougoです。
* 伝説的なプレゼン「Vim = VM」
* Twitterでは@ShougoMatsuとして活動しています。
* 「迷言:Vimは家族」
* Blog : http://vinarian.blogspot.com/
* Vim大好き
* Vim病にかかって4年経ちますが、日々症状は悪化しています
* Vim勉強会以外にもたまに出没する(たとえばこの勉強会とかね!)
* 今日はx86/Vim勉強会と聞いてきました

# vinariseとは?

* Vim上で動作するバイナリエディタプラグイン
* ブイナライズと発音する
* 名前の由来は、Vim + Binary + Analyse
* ただのバイナリエディタではない。解析ツールを目指す。
* 全く宣伝してないのに、外国のユーザが居たりする。よく分からない。

# なぜvinariseを開発したのか?

* テキストエディタはバイナリファイルくらい開けないといけない
* Vimにはxxdがある。しかし機能がショぼい
* Vim pluginと連携したい
* 日本語対応させたい
* 巨大ファイル開きたい
* じゃあ自作するしかない(死亡フラグ)
* Emacsのhexl-mode?なにそれおいしいの(正直比較にならない)

# vinariseの特徴

* マルチプラットフォーム
* 巨大ファイルを開ける
* 日本語ファイル対応
* ビットマップビュー
* プラグインで拡張可能
* バイナリファイル自動認識

# Emacs hexl-modeとの比較(ネタ)
* hexl-modeは数十メガバイトのファイルを開くとフリーズ
* hexl-modeは日本語に対応していない(外国産のバイナリエディタにありがち)
* バイナリエディタとしての機能が圧倒的に足りない
* ぶっちゃけ、xxdにGUIを付けたような(以下自主規制)

# vinariseの歴史
* 昔はxxdを使っていた
* 2010年5月頃 Kernel/VM勉強会でバイナリアンに興味を持つ
* アイディアを収集しながら作成開始
* 2010年8月頃 x86勉強会 #1で披露する
* 協力者が徐々に集まる
* 長い停滞(やる気なし)
* 2011年9月頃 Vimテクニックバイブルにvinariseのことをちょっとだけ載せる
* さすがに開発しないと詐欺と思われそう
* 2012年1月頃 開発再開する
* いろんな機能を付け、当初のものとはほとんど別物に
* 現在に至る

# vinariseのインストール方法

* githubから取ってきましょう。
* 今ならneobundleを推奨
  NeoBundle 'Shougo/vinarise'
* VimのPythonインタフェースが必須
  あなたのVimを:echo has('python')で確認してみましょう。

# vinariseの簡単な使い方
* A: ファイルをVimで開き、:Vinarise

* B: :Vinarise {ファイル名}

# vinariseの機能
* マルチプラットフォーム
* 巨大ファイルを開ける
* 日本語ファイル対応
* ビットマップビュー
* プラグインで拡張可能
* Vim pluginとの連携
* バイナリファイル自動認識

# 巨大ファイルを開ける
* vinariseはメモリマップを利用して、1GB程度の巨大ファイルを一瞬で開くことができる
* xxdやEmacs hexl-modeでは無理
* ghexでイメージファイルを開こうとしたらフリーズしました……
* bviや大半の外国製バイナリエディタでは無理
* 大事なことなので三回説明した
* ちなみに、バッファは現在見ているところしか行を生成しない
* Vimは行が多かったりすると重いが、vinariseは脅威のVim scriptテクノロジーによっ
 て重くない
* デモ:Ubuntu 12.04 LTS 日本語Remix CD(700MB)を開く

# マルチプラットフォーム
* Windows界では需要のおかげか、バイナリエディタがたくさんある
* しかし、Mac界やLinux界には不足している
* vinariseは基本的にVimとPythonさえ動作する環境ならどこでも動作する
* 他のバイナリエディタに対する圧倒的アドバンテージ!
* Androidでも動作する……とよいですね(未確認)

# 日本語ファイル対応
* vinariseはもちろん日本語ファイルを開くことができる
* 対応エンコーディング:UTF-8, UTF-16BE/LE, cp932, EUC-JP
* ただし、初期はASCIIモード
* Eを押してエンコーディング形式を指定する
* :Vinariseの引数 --encoding=で指定してもよい
* 実装はかなり頑張ったので、日本語ファイルだから遅くなるということはない
* デモ:vinariseで日本語ファイルを開く

# ビットマップビュー
* みんな大好きなビットマップビューにも対応している
* Vimで目grep! みんなの夢
* 使い方はvinariseのバッファで":VinarisePluginBitmapView"コマンドを実行するだけ
* GVimだとフォントが小さくなり、よりそれっぽくなる
* ASCII, コントロールコード, マルチバイトコードを判別
* デモ

# プラグインで拡張可能
* vinariseはプラグインによる拡張機能がある
* 実際に、s_yukikazeさんによりPEを解釈するプラグインが作られている。
  https://github.com/s-yukikaze/vinarise-plugin-peanalysis
* いろいろ忙しくて、プラグインの仕様はドキュメント化されてない
* 作ってみたくなったら、BitmapViewのプラグインのソースコードを見ると良い。

# Vim pluginとの連携
* vinariseはVim pluginと連携できる
* vimfilerで、Bを押すとvinariseで開く
* 他にもやってみたいとは思っているのでアイデア募集中

# バイナリファイル自動認識
* .vimrc内でlet g:vinarise_enable_auto_detect = 1とする
* 「:edit バイナリファイル」を実行すると、開いたファイルがバイナリファイル
っぽかったら自動で認識してvinariseで開く。
* ELFっぽかったら、objdumpで開く
* デモ

# vinariseの制限
* 1.6GB以上のファイルは開けない(仮想メモリの制限)
* バイトの挿入・削除はできない
* バイト列を型変換して表示することはできない
* ファイルの保存は遅い
* アンドゥできない

# 今後のvinariseについて
* 2GB以上のファイルへの対応
* ファイルの保存を高速にする
* バイトの挿入・削除への対応
* ISO-2022-JP文字コードへの対応
* バイト列の型表示はプラグインでやる予定
* アンドゥを実装する
* バイナリの構造を表示(バイナリファイルのアウトライン表示)

# 終わりに
* 今日覚えて欲しいこと「Vimは優秀なバイナリエディタ」である
* 「hexl-mode, xxd? なにそれおいしいの」
* vinariseを使うと、Vimをバイナリエディタにすることができます
* みなさんも使ってみた感想があれば、@ShougoMatsuまで
* ただし、あまりに無茶な要求はしないようにしましょう
* Vim + Python縛りはつらいのです
* 業務で使用できるような高機能なバイナリエディタ(解析ツール)というのは金が取れるレベルです
* これを機会に、みなさんもHappy vinarise!

------------------------------------------------------------------------------------------

第二部:Vimネタスライド

何も言わず、リンク先のスライドを見てほしい……。
http://www.slideshare.net/Shougo/vim-13092304
どう思う? すごく、Vimです……。
うん、またなんだ。すまない。もはや謝って許してほしいとも思っていない。
しかし、vinariseのおかげでVimに興味を持った人ならきっと楽しんで貰えると思ってこ
のスライドを用意したんだ。

------------------------------------------------------------------------------------------

ネタスライド補足

私としてはみなさんに楽しんでもらえるよう、万全を期して用意をしたはずなのですが
、Twitterの感想を見ていると一部の人が私の発表に不満を覚えているようです(特に第
二部について)。

このまま誤解されているのも、何だか悲しいので私の発表の真の意図をここで説明した
いと思います。ちなみにネタばれ全開なので、私の発表をまだ見ていない人はすぐに回
れ右をするんだ!



















* 私の発表内容は私の個人的見解であり、私の発表にいかなる不満を持ったとしても
Vimや他のVimmerに対して悪い印象を持たれないでください。私はただの一人のVimmer
にすぎません。
* 少なくとも前半はバイナリエディタ(とVim)の話をしました。この内容自体は問題ない
はずです。
* 第二部はほぼVimオンリーの話になっていますが、それはオマケスライドだからです。
自分の発表でVimに興味を持った人がいるかもしれないので用意しました。事前に聞いて
みたところ、Vimを日常的に使用している人も多くいました。
* 最初から内容を公開してしまう手もありましたが、ネタばれすることでつまらなくな
ると思い、それは避けました。最後に発表を持ってきたり、発表時間が他の方よりも長
いのは、ある意味の予告だと思ってください。※1ただ、当日にアナウンスくらいはしても
よかったかもしれないです。
* このスライドは一ヶ月以上前から作成していて、練習もきちんとしていました。決し
て半端な気持ちで作っていたわけでありません。というより、半端な気分ならあの場で
発表できないでしょう。※2
* x86勉強会でVimの話をしたのは、普段バイナリを扱っている方々にもVimのことを知っ
てもらいたかったからです。Vim勉強会でVimのことを話すよりも良いアピールになると
思いました。私はバイナリ技術も好きなので、バイナリとVimの橋渡しをしたかったので
す。

※1:私の後での発表は誰もやりたくないと思います。
※2:ちなみに、私はKaoriya-Vimを配布しているKoRoNさんから「鋼の心臓を持っている
」認定を受けました。

以上になります。真意を汲み取っていただければ幸いです。
ちなみに、懇親会で私の発表の感想を聞いてみると、好意的に受け取ってくれる人が
多かったようでした。それを聞いて、やって良かったと思いました。
------------------------------------------------------------------------------------------

2011年7月25日月曜日

Vim plugin開発の「行き詰まり」を打破する6つの方法

元ネタ「人生の「行き詰まり」を打破する6つの方法

プラグイン開発の行き詰まりは……


Vimプラグイン開発は長丁場です。いくら考えても、ニッチもサッチもいかない難題がおとずれることがあります。
すべての行き詰まりは、「こんなことVimにはできないんじゃないか?」という行き詰まり「感」です。それは、私たちが感じている一つの感情。
今日は、Vimプラグイン開発における行き詰まり「感」を解消する6つの突破口を紹介します。

1.「Vimの限界を突破する質問」を投げかける



「あなたが今、Vimの限界を感じていることは何ですか?」
「あなたがそのVimの限界を感じるたびに、自分の頭のなかでくりかえしている"問題"や"つぶやき"は何ですか?」
「あなたがそのVimの限界をこえるために役立つ答えをくれる、新しく画期的な問題は何ですか?」

この質問は、Vim scripterのShougoさんが、相談者のVim限界をこわすために考案されたものです。

人の脳はとても、単純なコンピューター。同じ問題には、同じ解法を、新しい問題には新しい解法を返します。

えてして人は同じ問題ばかりを頭のなかでくりかえしループしているのですが、こうしてそれを「見える化」することで、Vimによる新しい解決策が見つかることがあるのです。

2.「Vimコントロールの輪」を見なおす


たとえば、ある画期的なVim pluginを作りたい場合は:
内側の輪(自分で直接、変えられるもの) ... 自分の設定、自分のプラグイン、外部コマンド、外部インタフェース、外部ライブラリ
外側の輪(自分で直接、変えられないもの) ... Vimの関数、組み込みコマンド、仕様、Bramさんのポリシー

行き詰まりを感じたときに、私たちがよくやってしまうのは「自分が変えられないこと(外側の輪)にモンモンと悩んでしまうこと」。

大切なのは、自分が今・ここで直接、変えられるものだけをハッキリ切り分けること。そこだけに注力し、他はスパッとやめてしまいましょう。

「幸福への道はただ一つしかない。それは我々の意志の力では、どうにもならないVimの仕様について、悩むことをやめることにある。」
ビーム・カーネギー

3.「召喚」する


自分では、解決できない問題にであったら、それを解決したことがあるエキスパートVim scripterをvim-users.jpのなかで、「召喚」しましょう。
眼をとじて、深呼吸をし、やりたいことを簡潔にまとめたら「その人を召喚」してみてください。
何を感じていますか? 何をいっていますか? どうVim scriptを書いていますか?
きっと、あなたと違う新しい答えのヒントが見つかるはずです。

4.世界をunite化して考える


世界的に有名な「unite.vimによるカイゼン」。そのコツは、どこにあるのでしょう?
それは「世界をunite化して考えること」。
今までのインタフェースをすべてunite化する勢いで改善策を考えるという手法です。
人の頭はどうしても、今までのインタフェースに引きずられがちです。だから行き詰まってしまう。何ごとも「思い切って、unite化して改善できないか考えてみる」というスタンスが大事なのです。

5.脱力して、静かに継続する


行き詰まり感には、「他のプラグインで実装されるのではないか」という恐怖や焦りがつきまとっています。
それによってバグを仕込んだり、やる気がなくなったりするがために、うまくいかないのです。

Vim界が変化することにも、時間がかかります。
実は何も「行き詰まってはおらず」、冷静、丁寧、正確に、静かに物ごとを継続することで、少しずつうまくいっているのかもしれません。
Vim scriptは大変奥が深いです。その深淵を垣間見るためには、一年や二年のVim scriptingでは不十分です。
10年間メンテナンスするつもりで、気長に開発しましょう。
neocomplcacheやvimshellのように、三年以上継続して開発するその熱意こそがVim scriptには求められます。

ビムナムの禅僧であるビム・イズ・オールは言いました。
「微笑んで、深呼吸して、ゆっくりVim pluginを開発しよう」
脱力して、一行ずつ、静かに継続。

6.思い切って、Vimのない生活もする


「体の疲れは、Vim scripting力をも落ち込ませる」ーーこれはVim学的にも明らかで、だれもが経験していることですが
肝心なときに忘れていたりします。

人は長い間Vim scriptのみに尽力することは難しいです。
何か大きな壁にぶち当たった場合、時にはVimやPCのない環境でVim scriptのアイディアをじっくりと練ることが効果的です。
Vim plugin開発はPCやVimの存在には依存せず、脳内や手書きのノートでも十分可能であることがVim plugin開発者のShougo氏により実証されています。

「Vim pluginに対するやる気がでない。ちょっと待って……。もしかして、私、疲れてる?」
自分にこう聞いてみるだけでいいのです。もし、答えがイエスなら、思い切ってVimプラグイン開発に休みを取りましょう。
Vim休暇を使うもよし、ネットサーフィンに出かけるもよし、ちょっと早寝するのもよし、ゲームに興じるのもよし、です。
 ゆっくり休んで、Vim scripting力を充電し終わったら、意外とケロッとしているかも!?

Vimの限界は、頭のなかでつくられたもの


Vimにおいて、本当にしょうがないことは、だれもがキッパリあきらめています(例:Vimの画像表示)。

行き詰まり「感」があるということは、まだVimで実現できる可能性があると、心の深いところは感じていること。
Vimから一歩引いて、スローダウンして、Vimの周囲を大きく考えて見れば、意外とカンタンに道は開ける。