タグ

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

  • カラースキームに個人的に求めるもの - 永遠に未完成

    最近 Vim のカラースキームの自作に関する記事をちらほら見かける。 私自身も最近、いいカラースキームないかなーと探していたりするので(作る気は皆無)、私が探す際のポイントなんかを書いておく。 ちなみにこの記事では主にカラースキームの機能面についてのみ言及する。 配色に関しては私はセンスがほぼないので、色について完全に感覚で選んでいて参考にならない。 一通りの色が定義してある 最重要項目なのだけど、できていないものが多い。個人的には全て設定されていてほしい。 大きく分けて Vim 自身が使う部品のハイライトと、テキスト内の構文ハイライトで使うものがある。 前者の一覧は :help highlight-groups で見ることができる。この記事を書いている時点での最新版である Vim 7.4.1639 では以下の 45 個だ。たまーに体への機能追加で増えるので、注意したい。 *hl-Col

    カラースキームに個人的に求めるもの - 永遠に未完成
  • 無料で使える CI サービス 8 個まとめ - 永遠に未完成

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

    無料で使える CI サービス 8 個まとめ - 永遠に未完成
  • 一週間vimrc - 永遠に未完成

    「私、vimrc…一週間で消えちゃうの…」 0 0 * * 1 rm -f ~/.vimrc ~/.vim/vimrc あかん、泣けてきた。

    一週間vimrc - 永遠に未完成
  • 本当にキモい Vim script - 正規表現編 - 永遠に未完成

    Vim Advent Calendar 2012 の 339 日目の記事です。 先日、Lingr で :s コマンドの引数をパースする方法についての話になりました。 :s はご存知の通り、置換コマンドです。 :[range]s[ubstitute]/{pattern}/{string}/[flags] [count]今回 [range] と [count] は無視するとして、それ以外の {pattern} と {string} と [flags]、あとはパターン内でエスケープされているかもしれない区切り文字(多くの場合は /) が何になるか知りたい。 結果的にできたのは以下のような正規表現です。 \v^s%[ubstitute]([\x00-\xff]&[^\\"|[:alnum:][:blank:]])(%(\\.|.){-})%(\1(%(\\.|.){-})%(\1([&cegiIn

    本当にキモい Vim script - 正規表現編 - 永遠に未完成
  • 意外と知られていない diff に関する機能 - 永遠に未完成

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

    意外と知られていない diff に関する機能 - 永遠に未完成
  • submode.vim とその設定例なんかを紹介 - 永遠に未完成

    Vim Advent Calendar 2012 の 62 日目の記事です。 私が毎日のようにお世話になっているプラグインの1つに、kana さん作の submode.vim と言うのがあります。結構昔からあり、かなり便利なのにあまり知られていないような気がします。これはもったいない!と言うことで今回はこの submode.vim について書こうと思います。 submode.vim とは https://github.com/kana/vim-submode submode.vim は、ユーザが自由にサブモードを定義できるプラグインです。…と言っても何のことやらさっぱりですね。 Vim には、複数のキー、つまりキーシーケンスによって成立するコマンドがたくさんあります。例えば <C-w>+ は現在のウィンドウの高さを変更します。そして、この複数のキー入力が必要な割に、連続で入力したいコマンド

    submode.vim とその設定例なんかを紹介 - 永遠に未完成
  • 'tabline' を活用しよう - 永遠に未完成

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

  • unite で複数のファイルを新しいタブにまとめて縦分割で開く - 永遠に未完成

    個人的にそういうことをよくやるので、action を定義した。こういうのが簡単にできて unite は素晴らしい。 let s:unite_action = { \ 'is_selectable': 1, \ } function! s:unite_action.func(candidates) " {{{ tabnew `=a:candidates[0].action__path` for c in a:candidates[1 :] vsplit `=c.action__path` endfor endfunction " }}} call unite#custom_action('openable', 'tabvsplit', s:unite_action) unlet! s:unite_action この手のは応用が効きやすいと思うので、よくやる操作があれば登録しておくといいと思う

    unite で複数のファイルを新しいタブにまとめて縦分割で開く - 永遠に未完成
  • commit --amend 時にコミットログの入力を省く - 永遠に未完成

    git commit --amend を使うと、直前のコミットでやり忘れた変更を付け足せるのでとても便利。 でも、多くの場合は変更部分に typo を見つけた場合とかファイルを追加し忘れていた場合などで、コミットログの編集を行うことはほとんどない。でも --amend をするとコミットログの編集用にエディタが立ち上がる。すぐに終了すればいいんだけど、エディタって場合によっては立ち上がるの遅いし必要ないなら立ち上がってほしくない。これを避ける方法。 git commit --amend -C HEADこれで OK。-C は既存のログメッセージを再利用するオプション。 私は以下のように alias を設定している。 cia = commit --amend -a -C HEAD私は -a を付けるタイプ。ここは好みで。 ついでに日時を更新する git commit --amend では、コミッ

    commit --amend 時にコミットログの入力を省く - 永遠に未完成
  • Ruby 1.9 用の rubygems が入らない - 永遠に未完成

    GentooRuby 1.9 を入れるに当たって、Ruby 自体は hardmask 外すことで簡単に入って最近まで普通に使ってたんだけど、最近になって dev-ruby/rubygems の ruby19 が何故か入らず gem19 がないため Ruby 1.9 が動かなくなったという現象と戦った際の記録。未完。教えて頂いたので最後に追記しました。 問題 RUBY_TARGETS とやらを指定すればいいというのはどこぞで聞いたので、make.conf に RUBY_TARGETS="ruby18 ruby19"と書いてたわけなんだけど…。 # emerge rubygems -pv [ebuild R ] dev-ruby/rubygems-1.3.7-r1 USE="doc -server" RUBY_TARGETS="ruby18 -jruby -ree18 (-ruby19)

  • vimrc基礎文法最速マスター - 永遠に未完成

    調子に乗って vimrc を書くのに特化した内容のものを書いてみる。取り上げた内容は完全に独断と偏見です。 関連記事: Vimスクリプト基礎文法最速マスター - 永遠に未完成 この記事では vimrc を書くにあたって知っておくべき概念や機能を解説します。Vim 自体の操作方法に関しては触れません。 基礎 バッファ バッファは、ファイルを編集するための論理的な領域です。Vim で新しくファイルを開くと、新しいバッファが作成されてそこにファイルの内容が読み込まれます。 ウィンドウ ウィンドウはバッファを画面に表示するための物理的な領域です。分割することができ、1つの画面に複数のウィンドウを表示できます。 タブページ タブページを使うことでウィンドウの配置を保持したまま複数の画面を切り替えることができます。 タブ文字と区別するためか、タブページと呼ばれています。 モード Vim の中でも知って

    vimrc基礎文法最速マスター - 永遠に未完成
  • 「わかる!JavaVM ― 2時間でわかる?JavaVM入門」に行ってきた - 永遠に未完成

    わかる!JavaVM ― 2時間でわかる?JavaVM入門 : ATND Java の処理系は以前趣味ですこーしだけかじった程度の私が参加してきました。 例によってメモとか取ってないので記憶の断片から感想をば。 クラスローダーについて - @ashigeru 発表資料: http://www.slideshare.net/ashigeru/classloader クラスローダーの移譲モデルとかそういう話。 クラスローダーについてはよく知らなかったので、とても勉強になりました。 Stack on JavaVM - @skrb 発表資料: http://www.javainthebox.net/publication/20100806JVMseminar/stackmachine.html Java in the Box の人。やけに余談が多くておもしろかった。あとスタック操作時の効果音いい。

    「わかる!JavaVM ― 2時間でわかる?JavaVM入門」に行ってきた - 永遠に未完成
  • Dropbox on Linux without X - 永遠に未完成

    Dropbox を X なしの Linux で動かすのにようやく成功したので、忘れないうちにメモしておく。 Dropbox の公式 CLI クライアントを入手する $ wget https://www.dropbox.com/download?dl=packages/dropbox.py $ chmod a+x dropbox.py $ mv dropbox.py ~/bin/dropbox $ dropbox help Dropbox command-line interface commands: status get current status of the dropboxd help provide help puburl get public url of a file in your dropbox stop stop dropboxd start start dropbox

    Dropbox on Linux without X - 永遠に未完成
  • Vim プラグインの開発スタイルのお話 - 永遠に未完成

    Vim のプラグインって作ってる最中は Vim 自体の動作も不安定になりがちだし、普段の環境と同じ環境で作ってるとなにかと弊害が起きがち。ちょっとした変更ならまだしも、大規模な変更は 1 度の作業で終わらないこともあるし、作業中断して別のことをやることになったりするとさらに面倒。 または、VCS でプラグインを管理したくて、プラグインごとにリポジトリを独立したいけど環境分けるのが面倒だとか。 というわけで私が普段やってる Vim プラグインの開発スタイルを晒してみようと思う。 設定 私の vimrc には最後の方に以下の記述がある。 " Load settings for each location. augroup vimrc-local autocmd! autocmd BufNewFile,BufReadPost * call s:vimrc_local(expand('<afile

    Vim プラグインの開発スタイルのお話 - 永遠に未完成
  • Vimスクリプト基礎文法最速マスター - 永遠に未完成

    流行ってるみたいなので遅ればせながら便乗。需要?何それおいしいの? Perl基礎文法最速マスター - サンプルコードによるPerl入門 - Perlプログラミングの基礎から応用まで Route 477(2010-01-25) PHP基礎文法最速マスター - Shin x blog Python基礎文法最速マスター - LazyLife@Diary VBA基礎文法最速マスター - いろいろ解析日記 Java基礎文法最速マスター - いろいろ解析日記 Bash基礎文法最速マスター - いろいろ解析日記 Haskell基礎文法最速マスター - think and error Brainf*ck基礎文法最速マスター - このブログは証明できない。 VBScript 基礎文法最速マスター - CX's VBScript Diary - VBScript グループ JavaScript基礎文法最速マス

    Vimスクリプト基礎文法最速マスター - 永遠に未完成
  • 1