2024/02/03 に v6.0.0 がリリースされており、この記事は非常に古くなっています。 この記事の内容は Denops のプリミティブな機能のみを利用しているため v6 でも問題なく動作しますが、LSP による補完や型チェックが効かないなど、開発者体験にまつわる問題があります。 LSP による補完や型チェックを有効にし、より体験が良い開発を行うチュートリアルが 公式ドキュメント (英語) に記載されているため、ご一読ください。

最近は専ら Vim script 向けテスティングフレームワーク themis.vim を作っているわけですが、テストを書いたら当然実行しないと意味がないわけです。 しかし手動でテストするのは面倒。そこで CI。設定しておけばリモートのリポジトリに push した時に自動でテストを走らせてくれます。 Linux 環境用の CI サービスはたくさんあるので、Travis CI なり drone.io なり自由に使えば良いと思います。便利。 しかし Vim はマルチプラットフォーム。当然 Windows 環境でもテストしたいですよね。と言うわけで Windows 環境で CI できるサービスと、そこで themis.vim を使ってテストを走らせる設定例を紹介します。全部無料でできます。 と言うわけで CI サービス AppVeyor を使います。 Continuous Integration
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 Advent Calendar 2012 1日目の記事になります。 [宣伝] 毎週土曜日 23時から vimrc 読書会を開催しています。 次回は 12月1日(今日!!)の 23時から行います。 内容はだいぶ緩い感じなので、気になる方は覗いてみるといいと思います。 Vim で分からないことを質問するいい機会でもあるので( thinca さんが答えてくれる!)お待ちしていますー!! 概要 さて、今回はわたしが実際にプラグインを作成するときの注意点や流れなんかを簡単にまとめてみたいと思います。 『github で公開』と書いてありますが、git 成分は少なめです。 予め用意しておくといいもの git github のアカウント neobundle neocomplcache neosnippet git は最低限 push commit が操作出来れば問題ないかと思います。 neobu
気がついたら結構本格的になってしまっていたのでいっそのことプラグイン化してようかと。 まぁ使い道があるのかわからないけども。 だいたいやりたいことはできた。 ちなみにプラグイン名はでちまるさんに考えてもらいました。 [プラグイン] vim-reti - github [簡単な使い方] " 式を渡して、それを評価する関数の参照を返す let s:Func = reti#lambda("1 + 2") echo s:Func() " => 3 " 引数を評価する場合は a:{n} を使用する let s:Plus = reti#lambda("a:1 + 2") echo s:Plus(1) " => 3 " 二項演算子を受け取った場合はそれを評価する関数を返す let s:Minus = reti#lambda("-") echo s:Minus(3, 2) " => 1 [二項演算子を関数
っぽいことを使いやすく定義してみました。 まぁ Assert といっても処理が中断するわけではないのですが。 [使い方] function! s:plus(a, b) return a:a + a:b endfunction function! g:minus(a, b) return a:a - a:b endfunction function! s:test() let n = 10 let m = 7 " 基本的な使い方 call g:assert(1) " => OK : call g:assert(0) " => Assert : " 偽の時のメッセージを指定 call g:assert_msg(s:plus(1, 3) == 5, "g:plus(1, 3) == 5") " => Assert : g:plus(1, 3) == 5 " 文字列で式を渡せば、そのまま式がメッセ
コーディングする際、構文やキーワードが色付けされる事はプログラマに大きなアドバンテージを生みます。 先日、vim の開発者メーリングリスト vim-dev に「syntax/cpp.vim に C++0x のサポートを追加して欲しい」との意見が投稿されました。 vim の作者 Bram Moolenaar 氏は「ここ10年程、syntax/cpp.vim のメンテナと連絡が取れていない。」と漏らしました。 そこで以前から、syntax/cpp.vim に手を入れようと議論していた vim-jp がメンテナを買って出る事にしました。 https://github.com/vim-jp/cpp-vim Bram Moolenaar 氏からも快い返事を頂きました。今後は C++ のノウハウを持った日本の vim ユーザー皆さんからのご意見を頂戴しながら syntax/cpp.vim のメンテナン
https://github.com/teramako/jscomplete-vim 既存のvimに入っているautoload/javascriptcomplete.vimがアレだったので、もう少し賢そうなのを作りたいと思い、作り始めた。 初めてのVim scriptなので拙いコードだと思うけど。ある程度目的は達成できてきたと思うので、GitHubにアップしてみた次第。 .や[後のプロパティ名を補完することが目的。 そのために、ある程度の式をパースし、どんなオブジェクトが返るかを判断する。 "a,b,c,d" .split(",") .map(function(c){ return '"' + c + '"'; }) .join("\n") ._ // ↑カーソル位置 とある場合は、 "a,b,c,d" .split(",") .map(function(c){ return '"' +
こんにちわ。昨今、ウェブ開発の進化はすざましいですね。PythonやPerlやJava、色んな言語で書かれていると思います。 もちろん編集にはVimを使っているかと思います。 でも編集だけ? 違うよね! Vim scriptはウェブアプリケーション記述言語なんだよ! Plack::App::Vim package Plack::App::Vim; use strict; use warnings; use parent qw/Plack::Component/; use Plack::Request; use Encode; use JSON::PP; sub prepare_app { my $self = shift; $self->{vim} ||= 'vim'; if (!$self->{server}) { open(my $f, "vim --serverlist|"); my
ここで関数リファレンスのみ格納先の変数の先頭が大文字になっていますが、これはVim script特有の制限になります。 数値は一般的な言語と同じ様に四則演算できます。文字列については.を用いて連結します。 また文字列は添え字によるアクセスが可能で、pythonの様に echo "hello"[1:3] という記述が出来ます。その他文字列操作関数については:help evalに詳しく記述されています。 また型同士の比較についてはthincaさんの記事が役立ちます。 Vimスクリプト基礎文法最速マスター - 永遠に未完成 Vimスクリプト基礎文法最速マスター vim 流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 Route 477... http://d.hatena.ne.jp/thinca/20100
複数の処理系から1つを選んでスムーズに実行(コンパイル)を行います。 以前にも同様の事をやったんですが、これを unite.vim を使用して実装しました。 quickrun_config に現在の filetype と同じ filetype の設定があれば列挙して実行(コンパイル)出来るようにします。 [vimrc] " filetype ごとに quickrun の config 名を設定する let g:quickrun_compile_command = {} " unite.vim の設定 let s:action = { \ 'description' : 'quickrun compile command', \ 'is_selectable' : 1, \ } function! s:action.func(candidates) for val in a:candidat
[概要] イメージとしては、Visual Studio 2010 で行われている静的なシンタックスチェックです。 これと似たような事を Vim で行います。 [Vimプラグイン] quickrun.vim 非同期でシンタックスチェック quickfixstatus quickfix の該当箇所をコマンドラインに出力 vim-hier quickfix の該当箇所をハイライト vimproc 非同期実行用 [vimrc] " quickfix のエラー箇所を波線でハイライト execute "highlight qf_error_ucurl gui=undercurl guisp=Red" let g:hier_highlight_group_qf = "qf_error_ucurl" " quickfix に出力して、ポッポアップはしない outputter/quickfix " すでに
Hi JavaScript and VIM funs, If you want to use VIM to edit/view the JavaScript files, you should have this one. Replace it with the javascript syntax file included with the VIMRUNTIME. Why it is here: Because I found that the originaly one which packed with the VIMRUNTIME didn't work very well for the JS files in Mozilla Browser/SeaMonkey/Firefox and Dojo. So I decided to some refine on it. Hope i
流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 - Perlプログラミングの基礎から応用まで Route 477(2010-01-25) PHP基礎文法最速マスター - Shin x blog Python基礎文法最速マスター - LazyLife@Diary VBA基礎文法最速マスター - いろいろ解析日記 Java基礎文法最速マスター - いろいろ解析日記 Bash基礎文法最速マスター - いろいろ解析日記 Haskell基礎文法最速マスター - think and error Brainf*ck基礎文法最速マスター - このブログは証明できない。 VBScript 基礎文法最速マスター - CX's VBScript Diary - VBScript グループ JavaScript基礎文法最速マス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く