2014-07-01から1ヶ月間の記事一覧
ああーふみふみかわいいよふみふみガチャチケ55枚突っ込んで限定R2枚しか出なかった 関連:Vim でカーソル下の単語を移動するたびにハイライトする - C++でゲームプログラミング 以前、上記の記事で書いたコードなんですが、需要があるようなのでプラグイン…
FcitxでVimからIM制御する — KaoriYa 入れてみました。 公開されている github のリポジトリは一般的なプラグインのディレクトリ構成とは違うので、neobundle.vim で管理したい場合は次のようにして設定する必要があります。 NeoBundle "koron/imcsc-vim", {…
試そうと思っていたんですが、この間 vimrc で話題になるまですっかり忘れていました。 と、いうことで試してみた。 vim-hier をフォークしてみた - 反省はしても後悔はしない cohama/vim-hier cohama 版 vim-hier だと列の位置も考慮してハイライトを行って…
仕様が変わったらしいので覚書。 さて、以前であれば unite-file でドットファイルを表示する場合は、 call unite#custom_source("file", "ignore_pattern", "") という風に "ignore_pattern" に空の文字列を設定すればよかったのですが最近仕様が変わったら…
最近読書会で読んだ vimrc でそういうような関数が定義されていたんですが、フルスクラッチではなくて組み込みの関数でそれっぽいのを書いてみた。 command! RandomString \ echo sha256(reltimestr(reltime()))[:7] 現在の時刻で適当にハッシュ値を生成して…
LLVM のサイトをあさってたら clang-format plugin for Visual Studio というものを発見した。 LLVM Snapshot Builds clang-format plugin for Visual Studio(ダウンロード) 気になるけどいま手元に Visual Studio 環境がないのでぐぬぬ。 誰か試してみて…
The LLVM Compiler Infrastructure Project LLVM 3.5 のリリーススケジュールがトップページに記述されていました。 リリースまでのスケジュールは以下の通りです。 7月21日: Branch for 3.5 release 7月21日〜27日: Testing Phase I 7月28日〜8月03日: Fix …
さて、プラグインで vital.vim を使用したい場合は :Vitalize コマンドを使用してプラグイン内に vital.vim を埋め込みます。 これによりプラグイン側で vital.vim に依存することなく vital.vim を使用する事ができるのですが少し注意が必要です。 例えばプ…
今日(っていうかさっき)知ったんですが、Vim script って関数名と同名の変数が定義できるんですね…。 [ソース] function! s:type(x) return a:x endfunction let s:type = 42 echo s:type echo s:type("x") [出力] 42 x Vim script 怖い。 [関連] 関数名と…
カーソル位置のコンテキストによって自動的にバッファの filetype を切り替える precious.vim ですが、indentLine を使用していると filetype を切り替える度に indentLine のハイライトが消えてしまいます。 これは以下のように設定することで回避する事が…
Lingr の Vim 部屋でこんな質問がありました。 http://lingr.com/room/vim/archives/2014/07/21#message-19702876 unite.vim でこういうことをしたい場合は file/new みたいにプロンプトに入力したワードを候補として追加するのが普通かなーってことで簡単に…
そういえば、なかったようなのでつくってみました。 vim-jp にある Vimmer の一覧を unite.vim で表示します。 オリジナルのデータはここら辺から拾ってきてます。 [プラグイン] osyo-manga/unite-vimmer NeoBundle "osyo-manga/unite-vimmer" [使い方] " 開…
Lingr の Vim 部屋でそんな話があったので少し紹介 [let g:option = get(g:, "option", 42) を展開] snippet goption abbr goption let g:${1} = get(g:, "$1", ${2}) プラグインでオプションを定義する場合はほとんど get() を利用して記述するので定型文化…
稀によくそういうことを行いたい時があるのでちょっとやってみた。 [cp でペーストしてコメントアウトする] nmap cp p`[v`]<Plug>(caw:i:comment) とりあえず、頭が動いていない状態で適当に書いてみた。 上の場合は単純にペーストしてその範囲を選択し、コメント</plug>…
さて、サイト内にツイートボタンを埋め込みたい場合は公式のジェネレータを使用するのが簡単です。 しかし、ここで生成したコードではページを開いたあと(ツイートボタンを表示したあと)にツイート内容を変更することができません。 そこでツイートボタン…
over.vim は内部で vital.vim を利用しているんですが、その vital.vim のパフォーマンスが改善されたようなので更新してみました。 具体的には計測していないんですが、今まで遅いと感じていた初期起動時間が、vital.vim を更新したら体感ではだいぶ早くな…
Lingr の Vim 部屋でちらっと出てきていたので覚書。 さて、neosnippet.vim の snip ファイルの構文なのですが、 ${1:condition}と記述した場合、"condition" がデフォルト値として挿入され、何も入力しないで次のマーカーへジャンプしたら "condition" が挿…
なんか前も言っていたような気がしないでもないんですが、std::initializer_list には operator[] が定義されてないんですね。 基本的には range-based for 使っているので気にならないんですが、この前ランダムアクセスしようと思ったらエラーになって面食…
そういえば、使ったことがないので試してみた。 Boost.ScopeExit を使用すると『そのスコープを抜けるときの処理』を記述する事ができます。 例えば、スコープの最初の方に『最後に呼ばれる処理』みたいなことを定義する事ができます。 [ソース] #define BOO…
今まで反映されてなかったのかよ!というツッコミはもっともなんですが、watchdogs.vim で動作する vimlint に g:vimlint#config を反映させるようにしまいた。 あと新し目の quickrun.vim じゃないとちゃんと動作しないので、使用する場合は quickrun.vim …
HTML ファイルなどを編集している場合にその結果をブラウザで確認したい事が稀によくあります。 そういう場合は、 execute "OpenBrowser" expand("%:p") みたいに現在のファイルを :OpenBrowser コマンドに渡せばよいのですが、毎回これを打つのもめんどくさ…
HTML から Slim に変換したい場合は html2slim が利用できます。 [インストール] $ gem install html2slim $ html2slim --version html2slim 0.1.0 [使い方] $ html2slim index.html index.slim [index.html] <html> <head> <title>Test</title> </head> <body class="test"> <div class="container"> <h1> Hello, Slim world. </h1> </div></body></html>
unite-grep は非同期で処理され、処理が終了したらコマンドラインに [grep] Completed. と表示されます。 しかし、コマンドラインはちょっとした動作で消えてしまう事が多いので、たまにこの出力を見逃してしまって、終了したかどうかがわからなくなる場合が…
とりあえず、次のプラグインを入れればよさそう。 slim-template/vim-slim NeoBundle "slim-template/vim-slim"
いま、HTML を書くときは Haml を使用して生成しているんですが、同様のテンプレートエンジンに Slim というのがあるので試してみました。 [インストール] $ gem install slim $ slimrb --version Slim 2.0.3Slim の実行コマンドは slim ではなくて slimrb …
7.3.1261 で という機能が追加されたんですが、よくわかってなかったので試してみた。 nnoremap qq :echo "qq"<CR> autocmd FileType hoge nnoremap <buffer> q :echo "q"<CR> さて、上のようなマッピングをしている場合、filetype=hoge では qq と q にマッピングがされてい</cr></buffer></cr>…
みたいな話が Lingr の C++ 部屋で出てた。 そういうことを実現したい場合は Boost.Fusion を使うのが現実的かな? (reinterpret_cast で無理やり変換してしまうという手が無いわけではないのだけれどさすがにアレ過ぎるので。 [ソース] // 構造が全く同じ…
最近…でも無いんですが、github の org の存在を教えてもらいました。 新しい github のページが欲しい場合、その度にアカウントを作る必要があると思っていたんですが、org で簡単に作れるんですね。 これは便利。 そんな感じで遊ぶようの org つくって Ang…
いわゆる 'whichwrap' のような挙動をバッファの先頭/末尾で行うスクリプトを書いてみた。 [ソース] function! Up(key) if line(".") == 1 return ":call cursor(line('$'), col('.'))\<CR>" else return a:key endif endfunction function! Down(key) if line("</cr>…
言い出しっぺなので書いておく。 横幅を広くして使用している人はあんまり関係ないんですが、unite-action の短縮の仕方が変更されました。 [before] [after] 以前は中央を短縮していたんですが、最新版では右側を短縮するようになりました。 ちなみに、以前…