タグ

ブックマーク / tyru.hatenablog.com (12)

  • Vim の :terminal がもたらすもの - Humanity

    追記 記事を書いた後いろいろ状況が変わって :terminal コマンドが使える Vim が配布されるようになったので、 とりあえず現時点(2017/09/15)での状況を書きました。 tyru.hatenablog.com 序文 今絶賛開発中の Vim の :terminal コマンドについて書こうと思う。 :terminal コマンドを実行するとシェルが開き、Vim 上で操作することができる、というもの。 つまり実質的に Vim は端末ソフトウェアとなった。 その上 Vim script で端末上の様々な内容にアクセスしたり変更することができる。 expect コマンド、parallel-ssh のようなツールを Vim script で自作することも可能となった。 しかし、すでにそれらのコマンドがある以上 Vim プラグインで実現する必要性は薄いだろう。 Vim の :termin

    Vim の :terminal がもたらすもの - Humanity
    hamaco
    hamaco 2017/08/16
  • Vim script での依存ライブラリのバージョン管理について (vital.vim が生まれた経緯とこれまでのあらすじ) - Humanity

    何となく自分の考えを整理するためにつらつら書いた。 Vim プラグイン開発者にとっては目新しい情報はないかもしれないけど、vital.vim の最近の動向を知りたい人や、これから Vim プラグイン作りたい人にとっては有用かもしれないと思ったので公開してみる。 vital.vim が作られた経緯は、ざっくり言うと Vim script で異なるプラグインから同じプラグインの異なるバージョンをそれぞれ呼び分けたいという要求が日Vim プラグイン開発者の間で高まっていた事だった。 JavaScript で言う RequireJS のようなモジュールロードのシステムは Vim script には存在しないため、無ければ自分たちで作るしかなかった。 そうして作られたのが vital.vim (モジュールのローダー部分はほぼ thinca さんが実装)。 バージョンの違いを意識してモジュールロ

    Vim script での依存ライブラリのバージョン管理について (vital.vim が生まれた経緯とこれまでのあらすじ) - Humanity
    hamaco
    hamaco 2016/04/26
  • SQLのデータをtableタグから作成する - Humanity

    ※この記事はVim Advent Calendar 2012の283日目の記事です。 つい最近レビュー記事を書くプレッシャーからの現実逃避にSQLの練習をやっていました。 テーブルのデータを生成する時にVimを少しだけ使ったので、今日はその時のことを書きます。 tableタグやExcelファイルとはTSV形式でやり取りする まずテーブルのデータをVim Advent Calendar 2012のページの表からVimのバッファにコピペします。 Vimのバッファのようなテキストの世界と、HTMLページのtableタグやExcelファイルの世界でやり取りするにはTSV(Tab Separated Values)形式が便利です。 その名の通りタブ文字で各項目/各セルが区切られたテキストです。 Firefoxだと表をCtrl+マウスドラッグでコピペするとTSV形式のテキストがコピペできます。 Chr

    SQLのデータをtableタグから作成する - Humanity
    hamaco
    hamaco 2013/09/10
  • 「実践Vim 思考のスピードで編集しよう!」レビュー (1日目) - Humanity

    この記事はVim Advent Calendar 2012の276日目の記事です。 また「実践Vim」のレビュー記事の1日目でもあります。 全て読み切ってからレビュー書こうと思いましたが、 KoRoNさんにTwitterで 2回に分けても良いのよ? VACにしても良いのよ? MURAOKA Taro on Twitter: "@tyru 2回に分けても良いのよ? VACにしても良いのよ?" と仰せつかったので何回かに分けちゃいます。 (ちょうどVACも書く人がいなかったみたいで、ちょうどよかった) また書はKoRoNさんにプレゼントしてもらいました。重ね重ねありがとうございます。 「実践Vim」レビュワー選考結果発表 — KaoriYa 書 効率良い編集方法を模索しながらVimをある程度長く使っていれば、 大体Vimの効率の良い使い方が理解できてくると思いますが、 helpを読んだり、

    「実践Vim 思考のスピードで編集しよう!」レビュー (1日目) - Humanity
    hamaco
    hamaco 2013/09/02
    gn初めて知った! これ便利そう!!
  • vim-jpがつないだVimプラグイン開発者とVimパッチ職人、もしくはなぜ最近Vimコミュニティが活発になったのか - Humanity

    ばよえ〜ん(訳:Vim Advent Calendar 2012への11回目の投稿です) この記事はVim Advent Calendar 2012の115日目の記事になります。 114日目は@rbtnnさんのsetコマンドでエスケープすべき文字でした。 vim-jp以前ってmattnさん以外、Vimパッチ職人*1の人たちはあんまりLingrに寄り付かなかったなー。という事をふと思い出したのでなんとなくちょっと前のことについて書いてみる。 というより、何時の間にか書きあがってた。 取りとめないし、主観が多分に混じってると思う。 ここでいうVimパッチ職人、Vimプラグイン開発者はだいたいこんな感じ... すごい大雑把な分け方なのでちょっとあれだけど... Vimパッチ職人 mattnさん、KoRoNさん、中平さん、h-eastさん、... Vimプラグイン開発者 thincaさん、Shou

    vim-jpがつないだVimプラグイン開発者とVimパッチ職人、もしくはなぜ最近Vimコミュニティが活発になったのか - Humanity
    hamaco
    hamaco 2013/03/26
  • よくわかるVim Advent Calendar 2012(のヤバさ)まとめ - Humanity

    2013年1月27日 2:45 Vim Advent Calendarとうとう2月まで続くらしくて頭おかしい Tweets with replies by 読み方はもう「タイル」でいいです (@tyru) | Twitter 1月後半で気付くのもおかしいですが、前年度のAdvent Calendarも1月15日まであったので異常さに気付くのが遅れました。 2013年1月30日 0:34 えVim Advent Calendar 2012なんで今頃参加者2人も増えてんの?こわい Tweets with replies by 読み方はもう「タイル」でいいです (@tyru) | Twitter えっ 2013年2月19日 1:00 あと8日分記事があれば3月に届くとか頭おかしい。Vim Advent Calendarの話です。2012年の。 #vimeditor #vim Tweets wit

    よくわかるVim Advent Calendar 2012(のヤバさ)まとめ - Humanity
    hamaco
    hamaco 2013/03/21
    まだ続いてるとかVimmer怖い……
  • Vimらしい操作性について - Humanity

    12時を11分30秒ほど過ぎました所でこんばんは。 この記事はVim Advent Calendar 2012の5日目の記事です。 なおこの記事はAnthyとiPod touchとeskk.vimによって書きました。 今回色々書きたいネタはあったのですが、とりあえず迫りくる締切から逃れるために一番書きやすそうなネタを選びました。(余裕できたら2周目に書くんだ...) という訳で今年は「Vimらしい操作性」について書いてみようと思います。 また、Vimの操作性については前も書いてるので、そちらもよければ参照してください。 表題のことを考えたきっかけは、Sublime Textのmultiple cursorsという機能について、Twitter上でのある人(晒しっぽくなってしまうのが嫌なので仮にAさんとしておきます)とKoRoNさんの会話でした。 え、vim使い的にはmultiカーソルって一括

    Vimらしい操作性について - Humanity
    hamaco
    hamaco 2012/12/05
  • プロンプトして実行、のインターフェースの変遷。 - Humanity

    こんにちは。 この記事はVim Advent Calendar 41日目の記事です。 Vimmerの話は変態成分多めでほぼ役に立たないから部屋を明るくして離れたところから話半分に聞いてね。 それじゃ、はっじま:wjjjjjjjjjjjjjjjjj helpの中にあった、ような... 〜inputlist()〜 Vimにはデフォルトで選択肢をコマンドラインに表示しユーザに答を選ばせることのできる関数があります。inputlist()です。 またマウスでのクリックにも対応しています。(マウスサポートが有効になっていれば) またこれはinput*()関数全般に言えることですが自分で定義した:cmapも使えます。 (以下はhelpからの引用をちょっと改変) :echo inputlist(['Select color:', '1. red', '2. green', '3. blue']) ただ自

    プロンプトして実行、のインターフェースの変遷。 - Humanity
    hamaco
    hamaco 2012/01/13
  • Vimのニッチな正規表現で遊ぼう - Humanity

    さあみなさんVim Advent Calendarも14日目ということで佳境にさしかかってきましたね! とか他のAdvent Calendarに参加してたなら言ってたかもしれないですが Vim Advent Calendarの場合1月5日ぐらいまで登録されてる状態とかどういうことですか... まぁ案の定Advent Calendar締切ギリギリになって急いで記事書いてますこんばんわ。*1 寝ずに記事を書いてるので勢いがついて変なこと口走ってないか心配ですが、 乗るしかない、このビッグウェーブに!ということで終始勢いだけですがそれなりに有用なことも含めたつもりです。たぶん。 いろいろネタがあって迷いましたが、Vimの正規表現について 他の正規表現エンジンにはない(と思われる)ニッチな機能を紹介していきたいと思います。 ちなみにVimの正規表現エンジンをマルチバイト文字に対応させたのはKoRo

    Vimのニッチな正規表現で遊ぼう - Humanity
    hamaco
    hamaco 2011/12/23
  • git-submv作った - Humanity

    gittools/git-submv at master · tyru/gittools · GitHub submoduleをリネームするのが面倒で作った。 $ git submv {src} {dest}みたいにして使う。 $ git submv {src} {dest} {dest-url}みたいにしてsubmoduleのURLを再設定したりもできる。 同じリポジトリにあるgit-subrmも必要。 リポジトリに普通にPATH通せば動くはず。

    git-submv作った - Humanity
    hamaco
    hamaco 2011/05/19
  • #ujihisa.vimに行ってきました - Humanity

    会場に着くのが遅れてしまい自己紹介とかもありませんでしたが隅でVimスクリプト書いてました。 その割にはeskkに1コミットしかできませんでした。 自分もvitalにコミットしたかった... 素晴らしいイベントを開催してくれた@ujmさん それから会場で話した色んな方々ありがとうございました!(以下だいたい話をした*1順になってます) @ujmさん 緊張しまくっている自分に話しかけてきてくれたりフレンドリーですばらしい人でした。 @gu4さん 会場で言い忘れてしまったのですがお子さんのご誕生おめでとうございます。 @john_ababaさん 「僕の知ってるvimと違う」というセリフが印象的でした。自分が緊張しまくっている中、話につきあってくれて当にうれしかったです。ありがとうございます。 @kana1さん 飄々としたキャラクターでイメージ通りでした。さすがです(?)。 @basyuraさ

    #ujihisa.vimに行ってきました - Humanity
  • Vimの正規表現は戦闘用 - Humanity

    タイトルは釣りです。 LingrでVimの正規表現の話が出たので、 ノリで今言い忘れたこととか書いてます。 Vimの正規表現では+とか(が特別な文字じゃありません。 コマンドラインでさっと検索する用に最適化されてるという印象を受けます。 たとえば :%s/eskk#\zsfunc\ze(/something_great/g みたいにして「eskk#func(」を「eskk#something_great(」に置き換えることができます。 グループ化するにはどうすればいいかというと「\(fo\+\)」のようにバックスラッシュをつけます。 参照する必要がないなら「\%(fo\+\)」。Perlで言うと「(?:fo+)」ですね。 このようにグループ化しようとすると沢山エスケープしなきゃならないですが、 コマンドラインでさっと検索する分にはこの仕様はけっこう楽だったりします。 あと\zsと\zeが便

    Vimの正規表現は戦闘用 - Humanity
  • 1