2024/02/03 に v6.0.0 がリリースされており、この記事は非常に古くなっています。 この記事の内容は Denops のプリミティブな機能のみを利用しているため v6 でも問題なく動作しますが、LSP による補完や型チェックが効かないなど、開発者体験にまつわる問題があります。 LSP による補完や型チェックを有効にし、より体験が良い開発を行うチュートリアルが 公式ドキュメント (英語) に記載されているため、ご一読ください。
この記事は Vim script Advent Calendar 2015 の 3 日目の記事です。 はじめに 先月末に、Vim の組み込み関数に assert 系の関数が追加されました。 今回はこの関数について紹介します。 歴史 割とどうでもいいので読み飛ばし可です。 2015-11-29 Vim 7.4.944 assertEqual()、assertTrue()、assertFalse() が追加されました。また、一緒に使うための v:errors も追加されました。 しかし、関数名について苦情が多く出ました。 Vim script の組み込み関数の多くは、単語の区切りがなく1単語です。例えば deepcopy() や matchlist() などです。 一部の関数には _ が使われており、has_key() や complete_add() があります。 そして中には大文字を含む関
最近は専ら Vim script 向けテスティングフレームワーク themis.vim を作っているわけですが、テストを書いたら当然実行しないと意味がないわけです。 しかし手動でテストするのは面倒。そこで CI。設定しておけばリモートのリポジトリに push した時に自動でテストを走らせてくれます。 Linux 環境用の CI サービスはたくさんあるので、Travis CI なり drone.io なり自由に使えば良いと思います。便利。 しかし Vim はマルチプラットフォーム。当然 Windows 環境でもテストしたいですよね。と言うわけで Windows 環境で CI できるサービスと、そこで themis.vim を使ってテストを走らせる設定例を紹介します。全部無料でできます。 と言うわけで CI サービス AppVeyor を使います。 Continuous Integration
Vimでカレンダーといえば, mattnさんのcalendar.vimが有名でした. mattn - calendar-vim しかし, 私には以下の不満点がありました. 現在のVim Scriptから見ると, Vim Scriptの基本的な要素(文字列と数字)しか使っていない. ぶっちゃけ, コードが読みにくいし拡張しにくい. 日付の計算, 表示部の構成など, 様々な要素が一つのファイルに書かれていて, ごちゃごちゃになっている. キーボード入力に対して, インタラクティブでない. 例えば, hを押した時に隣の日に移動しない. 自分でカレンダーを一から書いてみたくなったんです. というわけで... calendar.vim作りました itchyny - calendar.vim どうぞ使って下さい. :Calendarコマンドでカレンダーが開きます. スクリーンショットはこんな感じ. G
jquery のドキュメントをオフラインでみてるときに、いいかんじにみれるツールってなにがあるかな。端末からみれて、オフラインでみれるのがいい。 2011-01-18 16:10:32 via Echofon GitHub Pages · File Not Found · GitHub だとオンラインでしか読めないのでオフラインでひけるのを作りました。 https://github.com/soh335/vim-ref-jquery です。ちょっとまだ僕以外の環境でNO検証なのとNO doc(書いた)なのと、no syntaxです(誰か書いて)。(ref-phpmanualを勢いで書き換えたのでおかしいところあるかも) 使い方は http://jqapi.com/ からHTML版のドキュメントを持ってきてg:ref_jquery_path に $HOME . '/Downloads/jqa
2回ぐらい Lingr に話題になったネタなんですがいつも忘れているので覚書。 Vim script で文字列を比較する場合、==# を使用する事が多いと思います。 let s:homu = "homu" echo s:homu ==# "mado" " => 0 echo s:homu ==# "homu" " => 1 上記の場合だと問題はないのですが、文字列以外の場合と比較する場合に問題になります。 " 数値を設定する let s:homu = 0 echo s:homu ==# "" " => 1 echo s:homu ==# "homu" " => 1 このように両方とも 1 が返ってきます。 [回避方法] is#、isnot# を使用します。 let s:homu = "homu" echo s:homu is# "mado" " => 0 echo s:homu is# "
lightline.vimというVimプラグインを作りました。statuslineをなんかかっこよくしてくれるやつです。 https://github.com/itchyny/lightline.vim からインストールできます。 デフォルト (powerlineと同じ配色) wombat solarized landscape どうしてこれを作ったのかということを話すには、vim-powerlineとの出会いまで遡らなくてはなりません。 vim-powerlineとの出会い vim-powerlineとの出会いは約一年前になります。それ以前から気になってはいましたが、フォントにパッチを当てるのが面倒でためらっていました。しかし、重い腰を上げてインストールしてみました。 vim-powerlineがすごい - プログラムモグモグ インストールしてすぐ感じたことは、配色が気に入らないことでし
Vim script用のテストフレームワークはVCS系のプラグイン以上に乱立している。 各フレームワークの違いが分からなくなりやすいので、ここにまとめる。 まだ内容は工事中。 基本的に、現在の Vim からの実行にのみ対応だと実装が楽で確認も容易。 ただし実行結果がテスト環境の .vimrc, plugin 環境に依存してしまう。 テスト実行後の副作用の問題もある。 コマンドラインからの実行だと、副作用はないがテストの実行が面倒である(特に Windows 環境)。 プラグインが別のプラグインに依存している場合、runtimepath の指定が大変。 テスト用の関数を登録するものは、修正後の再ロードが難しい。 フレームワークには関数系とコマンド系がある。関数系のほうが記述の自由度が高く分 かりやすいが、テストの記述は長くなりがちである。 テストの構文は大きく分けて TAP 系と Spec
Vim Advent Calendar 2012 1日目の記事になります。 [宣伝] 毎週土曜日 23時から vimrc 読書会を開催しています。 次回は 12月1日(今日!!)の 23時から行います。 内容はだいぶ緩い感じなので、気になる方は覗いてみるといいと思います。 Vim で分からないことを質問するいい機会でもあるので( thinca さんが答えてくれる!)お待ちしていますー!! 概要 さて、今回はわたしが実際にプラグインを作成するときの注意点や流れなんかを簡単にまとめてみたいと思います。 『github で公開』と書いてありますが、git 成分は少なめです。 予め用意しておくといいもの git github のアカウント neobundle neocomplcache neosnippet git は最低限 push commit が操作出来れば問題ないかと思います。 neobu
2009/06/26 追記: id:ka-nacht さんのアドバイスを受けて名称を変更しました。変えるなら早いうちに、と言うことで。 普通の人はまず必要ないだろう prettyprint.vim と言うプラグインを作った。 http://github.com/thinca/vim-prettyprint/tree/master prettyprint.vim とは Vim の変数を整形して出力するためのプラグインです。 見た方が早い 例えば QuickRun.vim をインストールしているときに*1、 PP g:QuickRunConfig などとすると、 { '*': { 'exec': '%c %s %a', 'output_encode': '&fenc:&enc', 'shebang': 1, 'split': '{winwidth(0) * 2 < winheight(0) *
ここで関数リファレンスのみ格納先の変数の先頭が大文字になっていますが、これはVim script特有の制限になります。 数値は一般的な言語と同じ様に四則演算できます。文字列については.を用いて連結します。 また文字列は添え字によるアクセスが可能で、pythonの様に echo "hello"[1:3] という記述が出来ます。その他文字列操作関数については:help evalに詳しく記述されています。 また型同士の比較についてはthincaさんの記事が役立ちます。 Vimスクリプト基礎文法最速マスター - 永遠に未完成 Vimスクリプト基礎文法最速マスター vim 流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 Route 477... http://d.hatena.ne.jp/thinca/20100
選択範囲を数値文字参照に変換するスクリプト str2numchar.vim – 川o・-・)<2nd life を参考にして HTML文字実体参照(& < > " => & < > ")の変換・逆変換をするvimスクリプトを作った。 スクリプトファイル str2htmlentity.vim を $HOME/.vim/plugin/ に配置して .vimrc に次の記述を加える。 vmap <silent> sx :Str2HtmlEntity<cr> vmap <silent> sr :Entity2HtmlString<cr> ビジュアルモードで範囲選択を行いキー sx を押すと "文字から文字実体参照へ" の変換が、 キー sr を押すと "文字実体参照から文字へ" の変換ができる。 GitHub のリポジトリに登録しました。 inotom/str2htm
Firebugでインデントつきのソースを書くのは厳しいことに気づいた。 ある程度長いプログラムを書くときはエディタでやろうと思い、エディタってどんなものがあるのかなーと調べたら、vimというのがかっこよかったので、インストールした。 さらに調べ、autocomplpop.vim - vimグループというものを見つけた。 JavaScriptではomni補完ができないので、辞書ファイルを用意したのだが、あまり賢くなかった。 ので、ソースをいじってJavaScriptでもomni補完をできるようにした。 vimには詳しくないので手探り。もっといい方法があるかも。 まず、autocomplpop.vimの371行目あたりに、 \ 'ruby' : [ という行があるので、その前の行に \ 'javascript' : [ \ { \ 'command' : "\<C-n>", \ 'patter
Repository: https://bitbucket.org/ns9tks/vim-autocomplpop/ Issues: http://bitbucket.org/ns9tks/vim-autocomplpop/issues/ Download latest(development) version https://bitbucket.org/ns9tks/vim-autocomplpop/get/tip.zip ============================================================================== INTRODUCTION *acp-introduction* With this plugin, your vim
Comments» 1. 本日のTwitter 2009-01-18 | memoMania - 2009-1-19 […] Web屋のためのVim設定・Tipsまとめ 1/2 - ナレッジエース http://blog.blueblack.net/item_340 # […] 2. ゲスト - 2009-1-19 (ただ、私の環境だとたまに、実行時にDOS窓が残ってブラウザを閉じるまでファイルが編集不能になる現象が発生します。なぜだろう。) firefoxの前にstartを入れるとどうでしょう? 3. nase - 2009-1-19 ありがとうございます!動作確認できました。よけいなDOS窓が開かなくなって、いい感じです。本文も修正させてもらいました。 4. sasata299's blog - 2009-2-6 vim環境を晒してみる… いきなりですが、僕はvi派です。emacsは・
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く