2015-04-01から1ヶ月間の記事一覧

unite.vim で vigemo を使用する

Vim

昨日つくった vim-vigemo ですが、unite-filters も組み込んであります。 なので、matcher を設定することで unite.vim 上でより高速に migemo を使用した絞り込みを行うことができます。 設定 " unite-file で migemo を使った絞り込みを行う call unite#cu…

cmigemo でリアルタイムにインクリメタルサーチする Vim のプラグインつくった

Vim

その名の通り、コマンドラインに入力する度に cmigemo を実行してインクリメンタルサーチするプラグインをつくりました。 元々は別のプラグインに cmigemo を組み込もうと思っていて実験的に作ったプラグインでもあったりします。 結果的に cmigemo のレスポ…

Ruby の attr_reader に対する疑問

Ruby の attr_reader メソッドを使うとインスタンス変数に読み込み専用でアクセスする事ができます。 class X def initialize @data = { filename: "test.txt" } end attr_reader :data end x = X.new x.data # OK x.data[:fname] # OK x.data = {} # ERROR …

Ruby でパスを絶対パスに展開する

~/ を設定パスに展開したかったんですが、File.expand_path() を使えばよいみたい File.expand_path("~/") # => /home/username 参照 パスを絶対パスに展開する - Ruby Tips!

gista.vim から anonymous へと投稿する

Vim

そういう話がでてたので覚書。 認証後に anonymous へと投稿したい場合 :Gista コマンドのオプションに -a/--anonymous をつければよいみたい。 " anonymous へポストする :Gista --anonymous

Twitter からノイズを消す

最近 Twitter を再開したんですが、一部で流行ってる ask.me が結構ノイズだったので消したかった。 CustomBlocker を使う CustomBlocker - Chrome ウェブストア 最初は某氏に UserScript とか書いてもらったんですが、Chrome にフィルタリングしてくれる拡…

Thor で定義したサブコマンドから値を返す

サブコマンドとして定義したメソッドの戻り値がそのまま Thor.start の戻り値になるみたい。 ソース require "thor" class CLI < Thor desc "", "" def plus a, b a.to_i + b.to_i end desc "", "" def minusa a, b a.to_i - b.to_i end end CLI.start %w(pl…

Thor のコマンドラインオプションに hash 値を渡す

渡し方がよくわからなかったので覚書。 コード require "thor" class CLI < Thor desc "", "" # オプションの引数を hash 値で受けとる option :config, type: :hash def sub puts options[:config] end end # hash 値を渡す場合 # {key}:{value} {key}:{val…

Thor::Group 内でオプションを定義する

Thor::Group を継承したクラスでオプションを定義する場合 class_option を使えばよいみたいです。 コード require "thor" class Hello < Thor::Group class_option :name, type: :string def hello puts "Hello, #{options[:name]}" end end class CLI < Th…

vital-migemo つくった

Vim

osyo-manga/vital-migemo 実装自体は vim-migemo をそのまま移植した感じ。 本当は辞書データも同梱しよかとも考えていたのだけれどラインセンス的にどうなのだろうか。 まぁ vital.vim の仕組み上、あちこちに辞書ファイルが生成されるのもどうなのかという…

gem-thor でコマンドを外部で定義する

やりたかったこと require "thor" # 外部クラスでコマンドを定義する class Hello desc "hello NAME", "hello to NAME" def hello name puts "Hello, #{name}" end end class CLI < Thor # 外部で定義したコマンドを include したい include Hello end CLI.s…

Vim の textobj-from_regexp でコンフリクトした範囲を選択する

Vim

元ネタ 範囲選択して、その中にある <<<<<<< ======= >>>>>>> からmine or theirsを一括選択するみたいなvimのほげふがほしい— にゃははー (@Flast_RO) 2015, 4月 19 すでにプラグインがつくられたみたいなんですが、こういう正規表現だけで範囲を決定できる…

vital-migemo つくった

Vim

なかったのでつくった。 osyo-manga/vital-migemo migemo の正規表現パターンを生成するモジュールです。 実装自体は vim-migemo をそのまま移植した感じ。 辞書データも同梱したいのだけれどラインセンス的にどうなのだろうか。 (まぁ vital.vim の仕組み…

brightest.vim にすべてのウィンドウでハイライトする機能を実装した

Vim

またまたそんな要望があったので。 最近 brightest.vim ばっかりいじってる気がする。 g:brightest#enable_highlight_all_window = 1 を設定しておくとカーソル下の単語がすべてのウィンドウでハイライトされるようになります。 注意 この設定を有効にする処…

新年度から使いたい Vim プラグイン:operator プラグイン編

Vim

前回 新年度から使いたい Vim プラグイン:自作プラグイン編 - Secret Garden(Instrumental) 新年度から使いたい Vim プラグイン:自作以外のプラグイン編 - Secret Garden(Instrumental) 新年度から使いたい Vim プラグイン:textobj プラグイン編 - Secret…

over.vim の起動時に画面がちらつくのを抑制する

Vim

追記 本体側に手を加えてもらったので現在はこの設定を行う必要はなくなりました。 再現する環境と再現しない環境があるようなのですが、over.vim の起動時に画面がちらつく場合、以下の設定で Digraphs の機能を無効にすると抑制する事ができます。 " 0 を…

Ruby でブロックを遅延評価するための gem を作った

Ruby で初めて gem をつくりましたので紹介。 まぁつくったといっても2ヶ月ぐらい前にリリースしたんですが。 ちなみに最初に言い訳しておくと Ruby 歴1ヶ月ぐらいではじめて書いた gem なのでお作法的によろしく無い部分があると思いますが、お察しください…

brightest.vim でインサートモード時にもハイライトするようにした

Vim

そんな要望があったので実装しました。 g:brightest#enable_insert_mode に1を設定しておくとインサートモードでもハイライトするようになります。 let g:brightest#enable_insert_mode = 1

brightest.vim でカーソルラインだけをハイライトしないようにしてみた

Vim

そんな要望があったので実装した。 g:brightest#highlight_in_cursorline に対して BrightestNONE を設定するとカーソルラインのハイライトがされなくなります。 let g:brightest#highlight = { \ "group" : "BrightestUnderline", \} let g:brightest#highl…

新年度から使いたい Vim プラグイン:textobj プラグイン編

Vim

前回 新年度から使いたい Vim プラグイン:自作プラグイン編 - Secret Garden(Instrumental) 新年度から使いたい Vim プラグイン:自作以外のプラグイン編 - Secret Garden(Instrumental) さて、今回は Vim の特徴的な機能である textobj を拡張するプラグイ…

brightest.vim でカーソルラインだけをハイライトしないようにしてみた

Vim

そんな要望があったので実装した。 g:brightest#highlight_in_cursorline に対して BrightestNONE を設定するとカーソルラインのハイライトがされなくなります。 let g:brightest#highlight = { \ "group" : "BrightestUnderline", \} let g:brightest#highl…

Vim の dot repeat でカーソルを移動しないようにする

Vim

やってみた。 function! Stay_dot_repeat() let view = winsaveview() normal! . call winrestview(view) endfunction noremap . :call Stay_dot_repeat()<CR> 便利なときもあるけど不便なときもあるのでびみょい。</cr>

新年度から使いたい Vim プラグイン:自作以外のプラグイン編

Vim

前回の続きです。 今回は自作以外で個人的にお気に入りな便利プラグインを紹介します。 はじめに : Vim プラグインを管理するプラグイン プラグインを導入する前にプラグインを管理するプラグインを入れましょう。 Shougo/neobundle.vim 使い方などはドキュ…

asterisk.vim と anzu.vim を併用して使う

Vim

昨日の続きを書こうと思っていたんですが時間がなかった…。 さて、最近 asterisk.vim というプラグインを使い始めました。 haya14busa/vim-asterisk これは * 時にカーソルを移動しないようすることができるプラグインです。 で、asterisk.vim と anzu.vim …

新年度から使いたい Vim プラグイン:自作プラグイン編

Vim

新年度!ってことでこれから Vim を強いられる使う人も多いかと思います。 そこで個人的に地味に便利なプラグインをおすすめしたいと思います! 今回は自作プラグインの中から便利そうなプラグインを紹介します。 だいたいマイナーなのが多い はじめに : Vim…

自作の vital モジュールをまとめた

Vim

作りすぎて自分でも把握しきれなくなってきたのでとりあえずざっくりとまとめてみた。 なお、ここに上げたモジュールの殆どはアンドキュメントであり仕様はまだ固まってないのがほとんどな模様。 vital-over 独自コマンドラインを使用するためのフレームワー…

unite-github をちょっと改良した

Vim

unite.vim から github の issues を閲覧できる unite-githu なんですが、ちょっと改良しました。 osyo-manga/unite-github g:unite#sources#github_issues#default_request を追加 デフォルトで使用するリクエストを設定する変数を追加しました。 " 表示さ…

anzu.vim でパターンの先頭以外にもカーソルがあるときに反応するようにした

Vim

ちょっとした便利な修正。 osyo-manga/vim-anzu さて、いままで anzu.vim ではちょっとした制約として『カーソルが検索パターンの先頭にないと動作しない』というのがありました。 例えば anzu と検索し、カーソルが a 以外の場所にあるときに :AnzuUpdateSe…

Vim script の unlet! に関する覚書

Vim

Vim script の unlet は変数を削除する機能です。 let hoge = 42 unlet hoge " Error echo hoge これに ! をつけると存在しない変数名を unlet しようとした場合、エラーメッセージを出力されないようにできます。 let hoge = 42 unlet hoge " エラー出力さ…

over.vim 3.0 をリリース

Vim

若干日付またいでるけどエイプリルフールネタじゃなくて over.vim 3.0 をリリースしました。 新しく実装された機能は以下になります。 cmap/cnoremap の設定のインポート <C-w> 時に正規表現を考慮した単語を削除 digraph の対応 <C-q> (<C-v>)機能の追加 キーマッピングの</c-v></c-q></c-w>…