vim

ubuntu で Vim とシステムのクリップボードを共有する

vim

まだ ubuntu に慣れていなくて四苦八苦していますこんにちわ。 概ね動作に問題はないのだけれど細かいところを見るとじわじわストレスが溜まっていく…。 とりあえず、Vim はだいたい動作するようになってきました。 IME 周りがだいぶうんこだけど そんな中、…

Vim Advent Calendar 2013 129日目:C++ の Vim でのコーディング風景をキャプチャしてみた

この記事は Vim Advent Calendar 2013 129日目の記事になります。 ただやりたかっただけというネタ。 C++ のコーディング風景をキャプチャしてみるなどしてみました。 キャプチャした動画を見なおしているといかに雑にコーディングしているなのかがわかる […

unite-vimpatches で日付を表示する

vim

そんな要望があったのですが、そういう場合は本体で対応するよりは unite-filters 使ったほうが汎用性とカスタマイズ性が高いかなーって。 と、いう事で日付も一緒に表示したい場合は以下の様な unite-filters を使用すると便利です。 [ソース] let s:filter…

今週末の 4月12日(土)21時から第5回 Vimプラグイン読書会を行います

vim

今週末の 4月12日(土)21時から第5回 Vimプラグイン読書会を行います 日時: 2014/04/12 Sat 21:00 - 場所: LingrのVim部屋 読むプラグイン: vim-jp/vital.vim 目的: Vim scriptでリスト、文字列、辞書の効率的かつ汎用的な扱い方を学ぶ 具体的には Data.Lis…

Vim Advent Calendar 2013 126日目:Vim で一時的に変更したオプションの値を安全に戻す

vim

この記事は Vim Advent Calendar 2013 126日目の記事になります。 さて、プラグインなどを作っている場合、オプションなどの値を一時的に変更したい事があると思います。 function! Func() " 一時的に値を変更する let old_selection = &selection let &sele…

over.vim の 時に改行コードを "\n" で挿入するようにした

vim

こちらも要望があったので実装。 以前は改行コードは "^M"(もしくは "^@")を挿入していたのですがこれを "\n" で挿入するようにしました。 また、この文字は次のように g:over#command_line#paste_filters で制御する事が可能です。 " 改行コードを "\n" …

over.vim で 時にエスケープする文字を設定できるようにした

vim

そんな要望があったので実装しました。 g:over#command_line#paste_escape_chars にエスケープする文字を設定する事ができます。 [設定] " エスケープする文字を設定 let g:over#command_line#paste_escape_chars = '/.*$^~' [ヤンクしたテキスト] $foo.bar …

Vim 7.4.218 で組み込み関数 uniq() が追加された

vim

Vim 7.4.218 で組み込み関数 uniq() が追加されました。 これは同じ値が連続して並んでいる場合にそれらを1つにまとめる為の関数です。 ですので同じ値が連続している場合のみ削除され、連続していない場合はそのままになります。 echo uniq([3, 1, 1, 3, 3,…

Vim Advent Calendar 2013 121日目:Vim のパッチ一覧を出力する unite-vimpatches をつくった

vim

この記事は Vim Advent Calendar 2013 121日目の記事になります。 あったら便利そげな気がしたのでつくりました。 出力するパッチのデータは mattn さんの Web API を使わせて頂きました。 また、出力されるパッチは 7.4 系のものになります。 [プラグイン] …

KaoriYa 版 Vim 7.4.227がリリース

vim

vim-jp » Windows 32ビット/64ビット 7.4.227 リリース ということで結構久々にリリースされた気がします。 [問題] 他の方の環境でも影響がある変わりませんが、KaoriYa 版 Vim を更新したらフォントが正しく設定されなくなりました。 わたしは以下のように…

Vim Advent Calendar 2013 116日目:neobundle.vim で Vim のフォーカスが外れた時に自動でプラグインを読み込む

vim

この記事は Vim Advent Calendar 2013 116日目の記事になります。 関連::NeoBundleLazy したプラグインをフォーカスが外れている時に自動的に読み込む 以前、Vim Advent Calendar で上記のような記事を書いたのですが、この機能が neobundle.vim 本体に組み…

Vim Advent Calendar 2013 112日目:Vim script でいろいろな関数の定義方法

vim

この記事は Vim Advent Calendar 2013 112日目の記事になります。 今回は Vim script でのいくつかの関数の定義方法を紹介します。 [グローバル関数] 関数名にはアルファベットと数値と '_' を使用する事ができます。 また、関数名は大文字のアルファベット…

Vim Advent Calendar 2013 110日目: Vim script からキー入力を呼び出す

vim

この記事は Vim Advent Calendar 2013 110日目の記事になります。 1つ飛んでいるような気がしますが書きたい方がいれば教えて下さい。 さて、今回は Vim script からキー入力を呼び出す方法について簡単に書きます。 [:normal {commands} を使う] {commands}…

Vim Advent Calendar 2013 107日目: Vim で矩形なオブジェクトを対象とする為の textobj を書いた

vim

この記事は Vim Advent Calendar 2013 107日目の記事になります。 通常、テキストオブジェクト iw の範囲は : カーソル位置 : 範囲NeoBundle "Shougo/vimproc.vim" NeoBundle "Shougo/unite.vim" NeoBundle "Shougo/unite-outline" NeoBundle "Shougo/vimfil…

Vim で矩形選択でヤンクした時と同じようにレジスタに保存する

vim

そんなことがやりたくて Lingr でやり方を教えてもらったので覚書。 setreg() を使用するとレジスタの種類を指定できるのでそれを利用します。 " レジスタ + に矩形選択でヤンクした時と同じような状態で保存する call setreg('+', "homu\nmami\nmado\n", "b…

Vim Advent Calendar 2013 104日目: over.vim 2.0 をリリースしました

vim

この記事は Vim Advent Calendar 2013 104日目の記事になります。 最近、週3ぐらいのペースで書いていますが参加者はまだまだ募集中ですよ! 書いてみたい方がいればぜひ ATND へ登録して下さい!! さて、今回は :substitute のプレビューを行う over.vim …

Vim のオプションで前方に値を追加する

vim

前回の vimrc 読書会で出てきたので覚書。 オプョンの前方に値を追加する場合は ^= を利用します。 [ソース] set path+=./hoge set path^=./foo echo &path " => ./foo,.,,,./hoge

Vim Advent Calendar 2013 102日目: ヤンクした URL を貼り付けて neosnippet を展開する

vim

この記事は Vim Advent Calendar 2013 102日目の記事になります。 元ネタ:vim-operator-mdurl という vim plugin 書いた - vimtaku blog 上記の記事ではオペレータを使用したアプローチでしたが、わたしは neosnippet を使ってヤンクした URL を貼り付けた…

:NeoBundle 時のデフォルトのオプションを設定する

vim

最近教えてもらったので覚書。 g:neobundle#default_options に :NeoBundle 時に使用されるデフォルトのオプションを設定する事ができます。 " "_" にはデフォルトで反映されるオプション " それ以外の任意のキーにもオプションを設定しておく事ができる let…

今週末の 3月15日(土) 21時から第4回 Vimプラグイン読書会を行います

vim

今週末の 3月15日(土) 21時から第4回 Vimプラグイン読書会を行います。 日時: 2014/03/15 Sat 21:00 - 場所: LingrのVim部屋 読むプラグイン: tpope/vim-pathogen 目的: プラグインマネージャの仕組みを理解する 気になる方はご参加下さい。

Vim Advent Calendar 2013 97日目:モモンガでもわかるテキストオブジェクトとオペレータ

vim

この記事は Vim Advent Calendar 2013 97日目の記事になります。 Twitter 見ていると『テキストオブジェクトわからん』というツイートをたまに見かけるので自分が理解している範囲で簡単に解説してみるなど。 まぁこういう記事は大量にあると思うけど わたし…

vim-textobj-multiblock でプラグインのデフォルトの設定をユーザの設定を分けた

vim

以前はプラグイン側もユーザ側も1つの共通した変数に対して設定を行っていたのですが、それだとユーザ側で設定を行うとプラグイン側の設定が上書きされて無効になってしまうので、それを避ける為に別々の変数にしました。 基本的に以前と同様に使用できます…

Vim Advent Calendar 2013 95日目: unite.vim のアクションを起動するときに start-insert して開く方法

vim

この記事は Vim Advent Calendar 2013 95日目の記事になります。 そろそろネタもなくなってきたので Twitter で少し見かけた簡単なネタでも。 さて、unite.vim を起動して 等でアクションを呼び出すとデフォルトでは normal モードでアクションが開きます。 …

vim-operator-jump_side にトグルする機能を追加した。

vim

以前作った vim-operator-jump_side なんですが、要望があったのでトグルする機能を追加しました。 (operator-jump-toggle) を呼び出すと カーソル位置が textobj の先頭→末尾へ移動 それ以外の位置→先頭へ移動 こんな感じで逆の位置へ移動します。

Vim Advent Calendar 2013 93日目: Vim で行番号の左側に余白を追加する

vim

この記事は Vim Advent Calendar 2013 93日目の記事になります。 先週の vimrc 読書会で読んでいた vimrc で numberwidth が設定されているのを見て思いついたのでネタにします。 さて、わたしは行番号を表示しているのですが、行番号の左側に余白がないのが…

Vim Advent Calendar 2013 86日目: neovim に関する記事をまとめてみた

vim

この記事は Vim Advent Calendar 2013 86日目の記事になります。 担当者と連絡が取れなかったので軽めの代替記事になります。 さて、先週辺りから Vim 界隈や Twitter あたりで話題になっている neovim ですが、いくつか日本語記事も出てきているようなので…

Vim Advent Calendar 88日目: 誤った goto 文で到達しないコード箇所を直ちに検知する方法

vim

この記事は Vim Advent Calendar 2013 88日目の記事になります。 元ネタ 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…

Vim script の getbufvar() 時にデフォルト値を設定したい場合

vim

と、いう機能は以前 Patch 7.3.831 で組み込まれたのですが、Vim script でがんばる方法。 なにかいい方法がないかと考えていたら上記の Issues で mattn さんが書いていました。 以下のように getbufvar() に空の文字列を渡すと b: 相当が返って来るらしい…

Vim script でリストをシャッフルする

vim

簡単に書いてみた。 乱数生成は vital.vim で。 [ソース] let s:random = vital#of("vital").import("Random.Xor128") call s:random.srand(localtime()) function! s:rand() return s:random.rand() endfunction function! s:shuffle(list) let list = a:li…

Ruby で github のリポジトリの最新のコミットハッシュを取得する

vim

だいぶ前になりますが Lingr で raa さんに教えてもらったので覚書。 Ruby で github のあれこれを取得する場合、Octokit を利用するとよさそう。 [ソース] require 'octokit' # リポジトリの最新のコミットハッシュを取得 puts Octokit.list_commits("osyo-…