タグ

ブックマーク / thinca.hatenablog.com (24)

  • Arch Linux インストールメモ - 永遠に未完成

    新しく PC を購入し、Arch Linux をインストールしたので、その作業の個人用メモ。 あとから思い出しながら書いているので、実際に実行したコマンド等は省略気味。実際には紆余曲折があったが、その辺りも省略して、最終的にやったことの記録(それも思い出せる範囲で)。 用途 ssh でログインして使う開発マシン兼おもちゃ用途の汎用自宅サーバ。 すでに 1 台同じ用途のがあり、特に問題なく使えているが、5 年前に買ったものなのでスペックアップも兼ねて買い替えることにした。 以前は Gentoo を使っていたが、別のものも使ってみたいと思っていたので、今回は Arch Linux にしてみる。インストールは初めて。 マシン パーツ 商品 スペック 店 価格 コメント ベアボーンPC Intel BXNUC10I7FNH Core i7-10710U (CPU) ドスパラWEB 67,660 円

    Arch Linux インストールメモ - 永遠に未完成
  • Vim 8.0 Advent Calendar - 永遠に未完成

    この記事は 2016 年 12 月に Qiita 上で行われた Vim 8.0 Advent Calendar を 1 つにまとめたものです。 目次 前書き Vim 8.0 Advent Calendar 1 日目 関数機能の強化 Partials ラムダ クロージャ 2種類の関数参照 Vim 8.0 Advent Calendar 2 日目 チャンネル チャンネルを使う チャンネルのモード その他のメッセージの読み書きの方法 ch_sendexpr() ch_sendraw() ch_read() ch_readraw() ch_evalexpr() ch_evalraw() Vim 8.0 Advent Calendar 3 日目 ジョブ ジョブを使う ジョブのオプション モード 標準入出力の接続先 コールバック その他 ジョブを制御する ジョブを停止する ジョブの状態や情報を得る V

    Vim 8.0 Advent Calendar - 永遠に未完成
  • vimproc に Windows の DLL ダウンロード機能を入れた - 永遠に未完成

    tl;dr 以下を vimrc の最初の方に書く。 let g:vimproc#download_windows_dll = 1 vimproc は外部プロセスを非同期実行するのに必要な Vim のライブラリ。これを利用しているプラグインも結構ある。 これはとても便利なのだけど、動的ライブラリを別途ビルドする必要がある。 LinuxMac OS X なんかの環境では、標準でビルド環境が整備されているのもあり、ここで苦労することはあまりないと思う。しかし、Windows だと標準ではビルド環境がないため、ビルドすること自体が難しい。 kaoriya 版の Vim に同梱されている vimproc には DLL も含まれているので、これを利用している人もいるのではないだろうか。 ただ、最新版が使いたかったり、複数 OS で同じ設定を使いたいという理由でプラグインマネージャで vim

    vimproc に Windows の DLL ダウンロード機能を入れた - 永遠に未完成
  • VimConf 2015 に行ってきた - 永遠に未完成

    VimConf 2015 に行ってきた。 昨年は主催的ポジションからの参加だったのだけど、今年は割と一般参加的ポジションで、一応スタッフって枠にはなってたけど大したことはしてないし、ラクさせてもらいました。 というわけで各発表についての感想を雑につらつらと。 Vimのgitへの移行について - @kaoriya まさかのスライドなし発表すごすぎた。 GitHub 移行は外からだと割とすんなり決まった印象があったけど、やはり裏では色々あったんですね。 deoplete ~ The dark powered auto completion plugin for neovim ~ - @ShougoMatsu Shougo さんのバイタリティは相変わらずすごい。…すごい。 私はどのようにVim scriptを書くか? - @rbtnn Vim script 入門的な内容。これで Vim scri

    VimConf 2015 に行ってきた - 永遠に未完成
  • 無料で使える CI サービス 8 個まとめ - 永遠に未完成

    CI サービスをいくつか触ってみたのでまとめ。 今回の目的は、テストを実行すること。なので、ビルドやデプロイ辺りはちゃんとは見ていない。 ドキュメントで確認しただけの項目などもあったりするので、間違っていたらごめんなさい。教えてもらえると助かります。 ただ、これは記事を書いた時点での比較で、今後のサービスの変更に対応する予定はないです。 触ってみたサービス一覧 アルファベット順。 AppVeyor CircleCI Drone IO Magnum CI semaphore shippable Travis CI wercker codeship ってのもあったけど、無料プランは月100ビルドまでとかで常用には耐えないと感じたので中身見てない。 機能比較 機能比較は全て無料プランでのもの。有料だと対応している場合でもここでは x にしている。 比較項目は私の独断と偏見で適当に選出した。 項目

    無料で使える CI サービス 8 個まとめ - 永遠に未完成
  • Google の Vim script Guide について言っておきたいこと - 永遠に未完成

    この記事は Vim Advent Calendar 2014 の 25 日目の記事です。 Google が、様々な言語に対する自社内でのスタイルガイドを公開しているのはご存知でしょうか。C++ のものや JavaScript のものなどがあり、この辺りは割と有名かと思います。 では、Vim script のものがあるのはご存知でしょうか? Google は、Vim script について、2 つのガイドを公開しています。 Google Vimscript Style Guide Google Vimscript Guide 前者がカジュアルユーザー向け、後者がヘビーユーザー向け、といった位置付けのようです。さすが、Google がまとめているだけあって、なかなかポイントを抑えています。 ただ、これはあくまで Google が社内向けに作ったもの。鵜呑みにしてはいけない、もしくは、一般の人が

    Google の Vim script Guide について言っておきたいこと - 永遠に未完成
  • VimConf 2014 を開催しました - 永遠に未完成

    去る 2014年11月8日、VimConf 2014 を開催しました。 私は、主催、というわけでもないのだけど、会開催スタッフの中心人物的な感じで関わらせていただきました。 VimConf は当に多くの人の協力で成り立っています。私は今回、あちこちの人に色々お願いして回るのがメインで、みなさんの協力があって初めて開催することができました。 ボランティアスタッフとして手を挙げ、手伝ってくれた皆さん、発表者の皆さん、そして参加してくれた皆さん。当にありがとうございました! とまあ、固い話はこれくらいにして、以下、いつも通り雑に感想書いていくよ! Identity of the Vim - @kaoriya 資料: http://koron.github.io/vimconf-2014-koron/ Vim を使うなら色々やろう!と言う話。さすが kaoriya さん、いい話すぎて、最初か

    VimConf 2014 を開催しました - 永遠に未完成
  • winenv.vim 作った - 永遠に未完成

    momonga.vim #2.2 で作っていたアレです。 あのあとすぐ、細かいバグを取ったりして体の実装は完了したのだけど、その後ドキュメントを書くところで面倒になって長らく放置…。 しかし日、yuk(balloon-stat)さんが、unite-winpath なるものを作ったと言う報告をされて、これはやばいと思って重い腰を上げてさっきドキュメントを書き上げてリリースしました。やはり後回しにするもんじゃないですね…。 https://github.com/thinca/vim-winenv 何をするプラグインなの? Windows を使っている人ならわかると思うんですが、Windows でグローバルな環境変数とかを設定するの、すごく面倒ですよね。Vim から編集できたら便利そうです。これはそのために便利するプラグインです。 勘のいい人は気付いたかもしれないですが、これはレジストリを操

    winenv.vim 作った - 永遠に未完成
  • Vim プラグインを Windows 環境でテストする - 永遠に未完成

    最近は専ら Vim script 向けテスティングフレームワーク themis.vim を作っているわけですが、テストを書いたら当然実行しないと意味がないわけです。 しかし手動でテストするのは面倒。そこで CI。設定しておけばリモートのリポジトリに push した時に自動でテストを走らせてくれます。 Linux 環境用の CI サービスはたくさんあるので、Travis CI なり drone.io なり自由に使えば良いと思います。便利。 しかし Vim はマルチプラットフォーム。当然 Windows 環境でもテストしたいですよね。と言うわけで Windows 環境で CI できるサービスと、そこで themis.vim を使ってテストを走らせる設定例を紹介します。全部無料でできます。 と言うわけで CI サービス AppVeyor を使います。 Continuous Integration

    Vim プラグインを Windows 環境でテストする - 永遠に未完成
  • 本当にキモい Vim script - 型チェック編 - 永遠に未完成

    Vim Advent Calendar 2013 の 64 日目の記事です。 Vim script の変数には以下の型があります。 Number (数値) String (文字列) Float (浮動小数点数) List (リスト) Dictionary (辞書) Funcref (関数参照) このうち、String <=> Number 間と Number <=> Float 間では暗黙の型変換が行われます。 ある値が入っている変数に対して、暗黙の型変換が行われない別の型の値を代入しようとするとエラーになります。 " :help sticky-type-checking から抜粋 :let l = "string" :let l = 44 " 型が文字列から数値に変わる :let l = [1, 2, 3] " エラー! l はまだ数値である :let l = 4.4 " 型が数値から浮

    本当にキモい Vim script - 型チェック編 - 永遠に未完成
  • Git で変更されたファイルを簡単に無視する設定 - 永遠に未完成

    管理下に置かれてるんだけどなぜか無駄に変更されてしまうファイルというのがたまにあって、まあ管理方法見直せという話もあるんだけど、それも叶わない場合、そういうのは無視したい。 その方法についてはこの記事が詳しいのだけど、私はこれを以下のように alias 設定している。 [alias] ignore = update-index --assume-unchanged unignore = update-index --no-assume-unchanged ignored = !git ls-files -v | grep "^[a-z]"これで、 git ignore {file} ファイルを無視する git ignored 無視されたファイルの一覧を表示する git unignore {file} 無視されたファイルを元に戻す という風に直感的に扱えるので便利。

    Git で変更されたファイルを簡単に無視する設定 - 永遠に未完成
  • quickfix を便利に使う設定 - 永遠に未完成

    Vim Advent Calendar 2012 の 220 日目の記事です。 最近の Vim Advent Calendar は子供が生まれたり結婚したりで大変めでたいことが続いていますね。良いことです。みなさんも Vim Advent Calendar で執筆すれば御利益があるかもしれませんよ? あ、ちなみに私はいつも通りです。特に変わったことはありません。 さて、今回は私が quickfix で行っている設定をいくつか晒してみたいと思います。 設定方法 quickfix ウィンドウは filetype=qf が設定されます。なので、filetype qf に対する ftplugin を書けばよいです。つまり、 ~/.vim/after/ftplugin/qf.vimもしくは ~/vimfiles/after/ftplugin/qf.vimこの辺りに設定を書いていきます。 p で pr

    quickfix を便利に使う設定 - 永遠に未完成
  • Copy.com を Linux から使う - 永遠に未完成

    最近 Copy って言う Dropbox 系のサービスを使い始めた。 Sync, protect, and share your files - A simple cloud solution to manage business and personal storage. 最初からいきなり15GB、招待コードから登録すると +5GB の 20GB から使い始められ、誰かを招待するたびに +5GB ずつもらえるのでかなり太っ腹。ちなみにこの招待キャンペーンはずっとやってるわけではないとの噂*1なので、登録だけでも先にしておくとよいかも。ちなみに私の招待コードはコチラ→ https://copy.com?r=GrQEqs で、クライアントも Windows / Mac / Linux / Android / iOS とすでに各種揃っているようだったので、今試しに使ってみている感じ。デスクトッ

    Copy.com を Linux から使う - 永遠に未完成
  • 意外と知られていない diff に関する機能 - 永遠に未完成

    Vim Advent Calendar 2012 の 147 日目の記事です。 137 日目の tyru さんの記事で、Vim の diff 機能について紹介がありました。この記事ではもう少し細かい diff の機能について紹介したいと思います。 :diffthis 比較したい対象がファイルではない場合、例えば、外部からデータを無名バッファにコピーしてきた場合に、それらのバッファの diff を表示したいことがあります。この場合は、:diffsplit は使えません。 こういう場合は :diffthis を使います。diff を適用したいバッファでそれぞれ :diffthis をすると、実行したバッファ同士の差分を見ることができます。 これを利用した設定に、help で紹介されている :DiffOrig があります。(:help :DiffOrig) これは現在編集中のファイルと、最後に保

    意外と知られていない diff に関する機能 - 永遠に未完成
  • clever-f.vim を魔改造した話 - 永遠に未完成

    Vim Advent Calendar 2012 の 89 日目の記事です。 昨年、clever-f.vim と言うプラグインが rhysd(@Linda_pp) さんからリリースされました。 https://github.com/rhysd/clever-f.vim どんなプラグインかと言うと、f が便利になるプラグインです。 Vim の f はみなさんご存知ですね。f の次に入力した文字のところまでジャンプする機能です。例えば、fx とするとカーソル位置から次に見付かった x の文字までジャンプできます。l を連打するより速くて便利です。 この機能、便利なんですが、たまに誤爆します。 *clever-f.vim* or *clever-f* extends |f| mapping for more convenience. | ^今 | にいるんだけど、^ まで行きたい。fi だ! *

    clever-f.vim を魔改造した話 - 永遠に未完成
  • ujihisa.vim#3 に行ってきた - 永遠に未完成

    ujihisa.vim#3 に行ってきたよ。 vim-jpの活動報告 Vimの過去と現在と未来 - @kaoriya 発表資料: http://koron.github.com/ujihisa-201211/ vim-jp の紹介、在り方、そして今後のVimへの貢献の話など。 興味を持った方は vim-jp の活動に参加してみてはどうでしょう。発表資料にもあるように、気負う必要はないですよー。 The whirlwind evolution of TweetVim - @basyura 発表資料: http://www.slideshare.net/basyura/the-whirlwind-evolution-of-tweetvim tweetvim のすさまじい進化の軌跡の紹介。 徐々に進化していくプラグインの様子が見て取れた。 そしてプレゼン中に新バージョンをリリースするというサプラ

    ujihisa.vim#3 に行ってきた - 永遠に未完成
  • 第2回 闇鍋プログラミング勉強会に行ってきた - 永遠に未完成

    嵐にもならず快晴に恵まれたよいお日柄の中開催された、第2回 闇鍋プログラミング勉強会に行ってきたよ。 PhoneGap で手軽なモバイル開発 - @krustf 資料: http://www.slideshare.net/krustf/apache-cordova PhoneGap を使ってみたよって話。html+javascript で書けて、WebView 使ってマルチプラットフォームで動いてくれるらしい。Titanium Mobile みたいな感じかな? これは知らなかったなー。 まあただ、WebView なのからわかるように速度はそんなに出ないらしい。 ngx_small_light を使った画像変換 - @cubicdaiya 資料: http://www.slideshare.net/cubicdaiya/ngx-small-lightyaminabe nginx のモジュール

    第2回 闇鍋プログラミング勉強会に行ってきた - 永遠に未完成
  • 'tabline' を活用しよう - 永遠に未完成

    Vim Advent Calendar 2011 の 4 日目の記事です。 タブページ Vim 7 から追加されたタブページ(いわゆるタブ機能)、使っていますか? これによって複数の画面を扱うことが容易になりましたが、タブページの恩恵はこれだけではありません。それが今回紹介する 'tabline' です。 Vim の最上部にタブの情報を表示するための領域がありますが、実はこの部分は任意に設定することが可能です。これを利用すれば、最上部に任意の情報を表示することが可能になります。 始めの一歩 - タブページを表示する まずはタブページを表示する必要があります。デフォルトでは、タブページは複数のタブがあるときのみ表示するようになっています。追加の情報を表示するのなら、常に表示されていた方が良いでしょう。 また、gVimの場合はデフォルトだと GUI でタブが表示されます。これだと 'tabli

  • ambicmd.vim をリリースした - 永遠に未完成

    去る2010年4月。私の手元で燻ってた ambicmd.vim ってプラグインをとある経緯で gist に貼ったんだけど、その時は何人かでちょっとだけ触ってそのまま放置。 しかし私自身は今でもこのプラグイン使ってるし、埋もれたままなのももったいないので整理してちゃんと公開することにした。 https://github.com/thinca/vim-ambicmd 何をするプラグインか 長いコマンド名を個別の設定なしで入力するためのプラグインです。例えば vimrc には以下のように設定します。 cnoremap <expr> <Space> ambicmd#expand("\<Space>") cnoremap <expr> <CR> ambicmd#expand("\<CR>") こうすると、<Space> や <CR> を押したときに直前のコマンドを特定のルールに従って展開しようとしま

    ambicmd.vim をリリースした - 永遠に未完成
  • 第4回 sugamo.vim に行ってきた - 永遠に未完成

    第4回 sugamo.vim に行ってまったりしてきた。 @sigwyg さんによる vimrc と入れているプラグイン紹介。以下走り書き。いろいろ端折ってるので注意。 surround.vim どこまでが組み込みの textobj でどこからが surround.vim の機能かわからなくなる。 snipMate.vim gundo.vim あまり使ってない vimfiler 関連付けで開ける neocomplcache カスタマイズはマゾい作業 unite.vim 何でもできるよ vimshell.vim Vim 内で shell が動きます :! だと結果を残したりコピーしたりできない 「unite.vim を使っていない人は Vim 使いではない」 もちろん冗談だけど、それくらい unite.vim 流行ってるね。 @t9md さんによる自作プラグインの紹介。 textmanip.

    第4回 sugamo.vim に行ってきた - 永遠に未完成