Vim

Vim で , の後にスペースを自動で挿入する

Vim

,の後にスペース自動入力して欲しいです— Tsuzu (@Wp120_3238) 2015, 10月 22 lexima.vim でやってみた。 " ,の後にスペースを入れる call lexima#add_rule({ \ "at" : '\%#', \ "char" : ",", \ "input" : ",<Space>", \}) " ", " の後にスペースを続けれないよう</space>…

Vim script で数値、文字及び文字列リテラルを使わないで Hello World を出力

Vim

標準出力に Hello World と出力する Vim script を作成して下さい。ただし、数値、文字及び文字列リテラルを解答に含めることはできません。— mattn (@mattn_jp) 2015, 10月 17 と、いうことでやってみた。 let D = {} let D.Hello = {} let http://D.World …

Vim で長すぎて表示されない行を表示する

Vim

いまさらですが 'display' オプションの存在を知りました。 Vuim では1行が長すぎて表示しきれない場合、 と、いうような表示になるんですが、display=lastline というような設定を行うことで このように途中のまでを表示してくれるようになります。 今まで…

unite.vim でサブアクション的なものを定義する

Vim

元々は本体に要望していた機能だったんですが、最近簡単に定義できる方法を思いついたので書いておきます。 概要としては、デフォルトアクションとは別に source で共通したキーマッピングのアクションがほしいというものでした。 (<Leader><CR> を入力した時に source-f</cr></leader>…

C/C++ で予約済み識別子をシンタックスハイライトするプラグインつくった

他人の書いた C/C++ のコードを見ているとあまりにも予約済み識別子を無視してコードを書いているものが多いので、ついカッとなってつくった。 プラグイン osyo-manga/vim-cpp-syntax-reserved_identifiers NeoBundle 'osyo-manga/vim-cpp-syntax-reserved_i…

Vim の単語を対象とするテキストオブジェクトを使い分ける

Vim

さて、Vim で単語を選択するテキストオブジェクトといえば iw や aw ですが、わたしは他にもいくつかの『単語を選択する』テキストオブジェクトを使い分けています。 そもそも iw とは iw や aw は『カーソル下の単語』を対象とするテキストオブジェクトにな…

jplus.vim に空の文字が入力された時の設定を追加できるようにした

Vim

元々は g:jplus#input_config に入力された文字をキーとした辞書を設定してカスタマイズできるようになっているんですが、これだと空の文字が入力された時の設定ができなかったので特別なキーワードを設定できるようにしました。 " 空の文字が入力された場合…

jplus.vim で行結合するときに &formatoptions に依存してコメントリーダーを削除するようになった

Vim

[関連] jplus.vim でコメントリーダーを削除して結合する - Secret Garden(Instrumental) 以前、コメントリーダーを削除して行結合する設定を書いたのですが、NigoroJr さんから pull request もらって formatoptions+=j されていれば自動的にコメントリーダ…

Vim で J で行結合するときにコメントリーダーを削除して結合する

Vim

set formatoptions+=j と、いうように 'formatoptions' に j を追加すると J で行結合する際にコメントリーダーを削除して結合されます。 これは例えば、 # aaa # bbb というコメントを結合した場合に # aaa bbb と、いう風に結合されます。

Vim で使っていない機能まとめ

Vim

某所でそんな話題になったのでパッと思いついたのをまとめてみた。 マクロ マーク レジスタ ctags 系 とりあえず『知ってるけど使いどころがわからなくて使ってない』という機能を上げてみた。 マクロとかいまいちどういう時に便利なのかよくわからなかった…

jplus.vim でコメントリーダーを削除して結合する

Vim

関連 formatoptions+=j でコメントリーダーが削除されない · Issue #6 · osyo-manga/vim-jplus · GitHub 確かに formatoptions は全く考慮していなかったなーと。 とりあえず、現状は以下のように g:jplus#config を設定すれば『コメントリーダーを削除して…

col-sm-3 みたいなときにマイナスを無視してインクリメント・デクリメントする Vim プラグインつくった

Vim

久々に Vim script 書いた気がする。 [関連] Vimの<C-a>と<C-x>にマイナスを無視するオプションがほしい…(Bootstrapのcol-sm-3)とかで負数扱いされて逆になるのつらい— Pocke(ぽっけ) (@p_ck_) 2015, 7月 6 なんか需要ありそうだし、自分も欲しかったので以前作ったこ</c-x></c-a>…

vimshell で標準出力のハイライトを無効にする

Vim

だいたい Vim の conceal 機能がクソなのが原因なのですが、vimshell では Vim の conceal を使って標準出力のハイライトを行っています。 しかし、conceal を使うと色々と副作用(カーソル移動が conceal を考慮されなかったり、や折り返しがおかしくなった…

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

Vim

@pink_bangbi なるほど。厚かましくも設定ファイルでなく本家のautoload/watchdogs.vimに今日 #osakavim でやったmarkdown用のチェッカーを入れていただきたいと思っているのですがmarkdownのsupportをご検討いただけますか?— Kozo Nishida (@kozo2) 2015, 6…

Vim でバッファラインを絞り込むプラグインをつくった

Vim

まだいくつか実装したいことは残っているんですが、忙しくて手につかなさそうなので一旦リリースしてしまおうかなーと。 実は結構前からこそこそつくっていたりしました。 hopping.vim は検索したワードにマッチした行のみを表示するプラグインになります。 …

C++ で末尾に自動で ; をつけるような Vim script 書いてみた

最初は lexima.vim で設定してみたんですが、うまくいかなかったので雑スクリプト書いた。 とりあえず、insert mode を抜けた時に発動するようにしています。 augroup cpp-auto; autocmd! " 末尾が " ' ) の場合に ; を追加する autocmd InsertLeave * \ if …

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

Vim

watchdogs.vim に eslintの設定を追加しました。 JavaScript で eslint を使用したい場合は g:quickrun_config に以下のような設定を追加してください。 let g:quickrun_config = { \ "javascript/watchdogs_checker" : { \ "type" : "watchdogs_checker/esl…

Ruby の lambda や proc はキーワードではない

Vim

Vim のシンタックスハイライトで lambda や proc がハイライトされていたのですっかり勘違いしていたんですが、この2つは Ruby のキーワードではなくて『Kernel のモジュール関数』になります。 つまり単なるメソッドです。 Vim でこういう『キーワードじゃ…

automatic.vim の依存関係を見直した

Vim

automatic.vim が gift.vim に依存していたので、vital-gift を組み込んで外部プラグインには依存しないようにしました。 あんまり動作確認してないので、何か問題があれば issues までお願いします。

lexima.vim と Ruby の組み合わせでハマった

Vim

以前、lexima.vim からオムニ補完を呼び出す設定を行ないました。 で、これを元に文字列内では補完しないように call lexima#add_rule({ \ "char" : '.', "input" : '.', "filetype" : "ruby", "syntax" : "String" \}) みたいな設定を追加しました。 しかし…

unite-boost-online-doc の依存関係を見なおした

Vim

unite-boost-online-doc に pull request が着てたんですが、その時にコードを見なおしていたらいろいろとアレな感じだったのでちょっと改良。 とりあえず、webapi.vim と open-browser.vim に依存しないようにしてみました。 こういう黎明期につくったプラ…

over.vim に visual mode のハイライトを実装してみた

Vim

結構前に要望が着てたんですが、無理やり実装してみました。 visual mode から over.vim を起動するとその範囲がハイライトされた状態になります。 不具合があれば issues 等で教えてもらえると助かります。

lexima.vim で ignore を設定できるようなヘルパ関数を書いてみた

Vim

lexima.vim で特定の条件で補完をしてほしくない場合は次のように設定する必要があります。 " (| を入力した時に () の補完を行う call lexima#add_rule({'char': '(', 'input_after': ')'}) " ただし、以下の場合は補完しない " |) の場合は補完しない call…

lexima.vim でオムニ補完の呼び出し

Vim

オムニ補完は neocomplete.vim 経由で自動補完していたんですが、いまいち挙動が好みではなかったので lexima.vim 経由で自動補完してみることに。 とりあえず、Ruby は以下のような感じに。 " . で補完 call lexima#add_rule({ \ "at" : '\S\%#', \ "char" …

vim-textobj-xbrackets を拡張する

Vim

今まで雑に使っていたのでもうちょっと使い込んでみようかといろいろと試してみました。 vim-textobj-xbrackets については以下の記事を参照してください。 あにゃログ - textobj-xbrackets.vim マッチする iskeyword を拡張する textobj-xbrackets では iys…

jedi.vim を更新したら動作しなくなったので

Vim

調べてみたら submodule の更新も必要になったみたい。 submodule を更新するには jedi.vim のインストールディレクトリに移動して、 $ git submodule update --init を実行すればおkです。

lexima.vim の優先順位でハマった

Vim

"" の補完をしようと次のような設定を行ったのですが、うまく動作しなかったので覚書。 " 1." を入力したら "|" と補完される call lexima#add_rule({"at" : '\%#', "char" : '"', "input_after" : '"'}) " 2.ただし、文字列内で " を入力した場合は補完し…

surroud.vim で任意のタグで囲む

Vim

元ネタ 選択範囲の両端にfoldingのタグ{{{ と}}}をレベルつきで追加するvimscriptを書きたいのだけれども、ゼロからもりもりと書くか、それともコーディングを楽にする要素があるかを探すべきかで1週間ほど固まっている。 #vim— 竹田 (@takets) 2015, 5月 1…

Vm で特定の条件でのみ <C-a> でインクリメントしないようにする

Vim

元ネタ vim使っててインクリメント/デクリメントしようとして、たまにCTRL + aで減少して、CTRL + xで増加することがあってなんでかなー、って思ってたら"id-2"みたいなときなのに気づいた。-2って認識してるのね。— Tomotaka Sakuma (@tmtk75) 2015, 5月 13…

lexima.vim で自動補完を行う

Vim

ふと、こういうことにも利用できるんじゃないかと思ってやってみました。 とりあえず、ファイル補完を呼び出すのを書いてみた。 コード " . .. \w の直後に / を入力したらファイル補完を実行するようにする call lexima#add_rule({ \ 'at' : '\(\w\|\.\)\%#…