2013-08-01から1ヶ月間の記事一覧

restart.vim を使用する際の注意

vim

プラグインを作っている時などによく restart.vim にお世話になっているのですが、次のようなコードが vimrc に書かれている場合、注意が必要になります。 let $PATH = $PATH . ";C:/cpp/boost" vimrc 内で既存の環境変数にパスなどを足し込みたことはよくあ…

unite-highlight つくった

vim

この記事は Vim Advent Calendar 2012 273日目の記事になります。 さて :highlight の結果を unite.vim で出力するだけであれば :Unite output:highlight でいいのですが、これだと xxx にハイライトが行われないので自前で unite-highlight をつくりました…

automatic.vim に指定した時間にマッチする機能を追加した

vim

automatic.vim に "localtime" という matcher を追加しました。 これで任意の時間・日付にマッチするような使い方ができます。 これで時間帯によって起動時にプロ生ちゃんがしゃべるボイスを指定したりすることができます。 [設定例] let g:automatic_confi…

automatic.vim を使用して任意のタイミングでプロ生ちゃんにしゃべってもらう

vim

pronamachang.vim に automatic.vim の setter を追加してみました。 これで automatic.vim で任意のにタイミングにプロ生ちゃんにしゃべってもらう事ができます。 [設定例] " "pronamachang_voice" で指定したボイスが再生される " "pronamachang_random_vo…

Vim でプロ生ちゃん(暮井 慧)を感じる

vim

この記事は Vim Advent Calendar 2012 270日目の記事になります。 例によって参加者はまだまだ募集しています。 興味のある方は @osyo_memo までご連絡下さい! 関連:Emacs の起動時と終了時に「“プロ生ちゃん”のシステムボイス」音源を再生する - blechmusi…

vimshell のプロンプトで遊んでみた

vim

関連:VimShellが動的プロンプトに対応しました(やばい) - かなりすごいブログ 実は動的プロンプトとは全く関係ないんですが、vimshell で遊んでみました。 こんな感じでプロンプトがアニメーションします。 [ソース] set updatetime=500 let g:vimshell_p…

automatic.vim で unite.vim に設定する場合の注意

vim

unite.vim に限った話ではないのですが、処理の内容によっては BufWinEnter が呼び出された時にはまだ filetype が設定されていない事があります。 その為、次のように filetype でマッチするような設定では automatic.vim が正しく処理しない場合があります…

(*゚∀゚)o彡゚ミミミン!ミミミン!ウーサミン!!

vim

Vim はウサミン星人によって侵略されてしまいました。 [プラグイン] osyo-manga/vim-usamin - github NeoBundle "osyo-manga/vim-usamin" [設定] " タグを消す set concealcursor=n set conceallevel=2 " (*゚∀゚)o彡゚ミミミン!ミミミン!ウーサミン!! を設定したりとか nm…

vim-airline で (*゚∀゚)o彡゚ミミミン!ミミミン!ウーサミン!!

vim

ついカッとなってやった反省はしていない。 osyo-manga/vim-airline-usamin - github NeoBundle "osyo-manga/vim-airline-usamin"

vim-airline に自動的に Vim script ファイルが読み込まれる機能が実装された

vim

この記事は Vim Advent Calendar 2012 265日目の記事になります。 Vim Advent Calendar 2012 も残り100日になってしまいましたね。 さて、最近何かと話題の vim-airline なのですが、このプラグインに指定のディレクトリに保存されている Vim script ファイ…

vim-airline でヌコォ…を感じる

vim

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

vim-airline でイヌゥ…を感じる

vim

shabadou.vim にアニメーションの出力を外部から取得できる機能を追加しました。 これで何かと話題の vim-airline で :QuickRun 中にイヌゥを走らせたりする事ができます。 [プラグイン] NeoBundle "bling/vim-airline" NeoBundle "osyo-manga/shabadou.vim" […

anzu.vim で CursorMoved 時にも処理するようにしてみた

vim

某マンボウさんから言われて実験的に CursorMoved 時にも処理するようにしてみました。 これは移動した時にカーソル位置が検索対象の『先頭』にいれば位置情報を出力します。 この機能はデフォルトでは無効になっているので次の設定を行う必要があります。 "…

anzu.vim の動作を高速化した。それと Patch 7.3.867 で追加された便利なアレ

vim

この記事は Vim Advent Calendar 2012 261日目の記事になります。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id;…

watchdogs.vim に Rubocop の設定を追加した

関連 : Rubocopをsyntasticを使ってVimから自動実行する - Qiita って事で、watchdogs.vim にも Rubocop でシンタックスチェックを行う設定を追加しました。 使用するためには Rubocop のインストールと g:quickrun_config へ設定を追加する必要があります。…

unite.vim で converter 後に matcher を呼び出す

vim

前回 unite-filters の converter で表示形式を設定したんですが、同様の処理を word に対して行った場合、その word で絞り込みを行うことができません。 let s:filters = { \ "name" : "converter_add_updatetime", \ "description" : "add updatetime" \}…

unite-filters の converter で値を足し込む時の注意

vim

unite.vim の候補にファイルの更新日を追加したいと思うことがあります。 その場合は unite-filters の converter を使用して候補の表示形式を設定することができます。 let s:filters = { \ "name" : "converter_add_updatetime", \ "description" : "add u…

clang 3.4(svn) に Variable templates が部分的に実装されていたので試してみた

clang 3.4(svn) に C++1y で実装される予定の Variable templates が部分的に実装されていたので少し試してみました。 C++1y では以下のようにコードを記述することができるみたいです。 [ソース] #include <iostream> #include <limits> #include <iomanip> #include <array> template<typename T> constex</typename></array></iomanip></limits></iostream>…

Vim 7.4 で precious.vim を使用している場合にカーソル移動が遅くなる場合の対処方法

vim

Vim 7.4 で precious.vim を使用している場合にカーソル移動が遅くなる場合があるのでその対処方法を書いておきます。 正確にいえば新正規表現エンジン NFA が影響しているようなので NFA を使用している 7.3.xxx 系列でも再現する可能性があります。 [再現…

Vim で指定したウィンドウに対して任意の設定を行うプラグインをつくった

vim

この記事は Vim Advent Calendar 2012 255日目の記事になります。 以前言っていた popwin.el の Vim 版もどきなんですが、とりあえず形にはなったので公開しようかと思います。 そこそこ汎用性が高くて良い感じなんじゃないかな。 とは言ってもまだ全然使い…

Vim 7.4 がリリース

vim

Vim 7.4 がリリースされました。 Vim 7.4 released! - vim_deb Vim 7.4 released! - vim-jp Windows 32ビット/64ビット 7.4 リリース - vim-jp Vim 7.4 (2013/08/11版) 配信 - KaoriYa Vim 7.3 から大きな変更点は、 正規表現エンジンがNFAに変更 Pythonイン…

shabadou.vim の typo なおした

vim

今更 shabadou.vim のひどい typo が見つかったので修正しました。 しにたひ。 watchdogs.vim を使っている人はそちらも合わせて更新してください。 誤 quickfix_stateus_enable 正 quickfix_status_enable あと g:quickrun_config で直接記述している場合も…

:tab drop と :Tabdrop の違い

vim

前回の記事で『:tab drop と :Tabdrop で何が違うのか』というツッコミがあったので少し補足。 機能的には変わりませんが、いくつか違いがあります。 [視覚的に煩わしい] 実際に見てもらったほうが早いんですが :tab drop を行うと以下のようにスクロールバ…

Vim でオレオレ :tab drop

vim

この記事は Vim Advent Calendar 2012 251日目の記事になります。 Vim でタブページを多用している場合、:tab drop はとても便利なコマンドです。 しかし、:tab drop を使用した事がある方はわかると思いますが、このコマンドを実行した際に各タブページが1…

C++14 で副作用のある constexpr 関数

C++

今更ながら n3652 読んでいて驚いんたんですが C++14 だと次のように副作用のある constexpr 関数が定義できるようです。 [ソース] constexpr void increment(int& x){ ++x; } constexpr int func(int x){ int n = x; increment(n); increment(n); increment…

昨日書いたコードを C++11 で記述してみた

C++

昨日書いたコードは C++14 の仕様だったんですが、比較するために C++11 版のコードも書いてみました。 [ソース] constexpr int abs(int x){ return x < 0 ? -x : x; } template<int Size> constexpr int max_impl(int const (&array)[Size], int result, int index){ </int>…

Clang(svn) に Relaxing constraints on constexpr functions が実装されていた

多分、先月末だと思うんですが Clang に Relaxing constraints on constexpr functions が実装されました。 C++11 の constexpr 関数はいろいろと制限があったんですが、C++14 ではこれが緩和され、一般ユーザー(非中3女子)にも扱いやすくなります。 例え…

Vim 7.3 の p1170 で追加された便利なアレについて

vim

この記事は Vim Advent Calendar 2012 247日目の記事になります。 気がつけばVim 7.4b ベータ版リリースがされ、いよいよ 7.4 が近づいて来ましたね。 わたしも最近やっと 7.3.969 以降の Vim を使い始めました。 さて、そんな中 Vim 7.3 の p1170 でよさげ…

特定の unite-source の kind の action に別の action を割り当てる

vim

さて、unite.vim で、 " kind-file の tabopen を tabdrop にする call unite#custom#alias('file', 'tabopen', 'tabdrop') を設定すれば kind-file の action-tabopen が action-tabdrop になります。 この時に設定する kind 名には次のように source 名を…

watchdogs.vim で終了時に別のウィンドウへカーソルが移動してしまう問題の解決

vim

既知の問題としてあったんですが、quickrun.vim 側で対応したので対応方法を書いておきます。 さて、今までは watchdogs.vim のシンタックスチェックで quickfix ウィンドウを開かないようにする場合、 let g:quickrun_config = { \ 'watchdogs_checker/_' :…