反省はしても後悔はしない

Vim とか備忘録とか。それと関数型言語勉強中

転職します

この度、6年とちょっと勤めた SIer を退職することになりました。7月から来栖川電算という会社で働きます。本日5/31が最終出社日でした。 転職に至った経緯とか 今の会社はいわゆる大手 SIer なのですが、その中で自分の今後のキャリアを考えられなくなった…

fcitx の候補ウィンドウが出てこなくなったときの対処メモ

現象 Arch Linux のシステムアップデート (pacman -Syu) を実行したからかはよく分からないが、ある日突然 fcitx の挙動がおかしくなった。 具体的には入力モードを切り替えて日本語入力および漢字変換はできるのだが候補ウィンドウが出てこない。これは変換…

VimConf 2014 に行ってきたよ

Vim

11/8 に mixi さんにて開催された VimConf2014 に発表者として参加してきました。 スライドなどは以下にまとめらています。 Reports - VimConf 2014 以下雑感など。 Identity of the Vim (@Kaoriya) これはとても共感できる内容でした。 Vim の強みとは、と…

Nagoya.vim #2 を開催してきた

Vim

Nagoya.vim #2 9/20 (土) に Nagoya.vim の第2回を開催してきました。前回の第1回は2013/9/17だったので、約1年ぶりになります。どんだけさぼってたんだ... 第1回は僕と sgur さんで発表をするという会でしたが、第2回はもくもく会にしました。もくもく会形…

ターミナル上で unite.vim っぽいことをする peco が大変便利

zsh

peco って タイトルにあるように、ターミナル上で unite.vim っぽいことができるようになります。 標準入力を受け取って、インクリメンタルな絞り込みをして標準出力に投げることができます。 zsh をちょっと書く必要がありますが、任意のソースをインクリメ…

Osaka.vim に行ってきたよ

この前の土曜日に Osaka.vim というのがあって、 「名古屋からすれば大阪なんて近所みたいなもんやろー」と思ってノリで行ってきました。 thinca さんのライブコーディング quickmemo.vim というプラグインをライブコーディングしてました。 僕はこのプラグ…

Arch Linux (64bit) における SML# のビルド

@c0hama めっちゃ流行ってるのでやりましょう— みずぴー(クッキー) (@mzp) 2014, 5月 5 どうやら巷では SML# をビルドするのが流行っているようなので、僕も乗っかってみました。 僕のメイン環境は Arch Linux (64bit) なのですが色々試行錯誤したらビルドで…

Vim で Coq 環境を整える

はじめに 昨日、スタート Ssreflect というイベントに参加して、Coq + ssreflect のハンズオン的なものをやりました。 Coq 環境といえば、Emacs の ProofGeneral が非常に有名です。 しかし、私は Emacs は終了の仕方すら分からないレベルの初心者なので Ema…

fugitive.vim をもっと使いこなす

この記事は Vim Advent Calendar 2013 の 16 日目の記事です。 昨日は id:deris さんの Vimmerなら2013年中に試しておきたい海外産Vim plugin 8選 - derisの日記 でした。知らないプラグインあったので時間ができたら試してみたいですね。 進捗ダメです すみ…

Vim で Ruby の def end とかを自動入力する vim-endwise を vim-smartinput で実装してみた

この記事は Vim Advent Calendar 342 日目の記事です。 昨日は id:leafcage さんの README.mdをVimのヘルプファイルから生成する - cafegale でした。とても素晴らしいプラグインですね。本プラグインでも早速活用させていただきました。 vim-endwise につい…

'set relativenumber' で Vim のカーソルの縦移動とかを改善する

Vim

この記事は Vim Advent Calendar の 311 日目の記事です。昨日は id:osyo-manga さんの unite.vim の action の設定方法いろいろ でした。 set relativenumber みなさん、Vim で行番号を表示していますか?行番号の表示は vimrc に set number ですね。行番…

Vim のバッファとウィンドウを理解する

Vim

この記事は Vim Advent Calendar の 302 日目の記事です。昨日は id:rattcv さんの Vimから電話がかけられるなんて・・・素敵! でした。すごいですね。 はじめに Vim には強力なウィンドウ分割機能があります。一方で、プラグインなどのドキュメントなどで…

Nagoya.vim #1 を開催してきた

Vim

Vim Advent Calendar 2012 の 282 日目の記事です。 名古屋在住 Vimmer の @sgur さんと一緒に 9/7 土曜日に Nagoya.vim という勉強会を主催してきました。 開催の経緯から当日の様子、ちょっと補足あたりについて書きます。 経緯とか 何回目かの vimrc 読書…

すごい Vim で Haskell を書こう ... の補足

この記事は Vim Advent Calendar の 274 日目の記事です。昨日は id:osyo-manga さんの unite-highlight つくった でした。 はじめに 先週の日曜日(8/25)になごやまつりというイベントがあり、そこで Haskell を Vim で書く方法というネタで LT をしてきまし…

インサートモード時に行番号の色を反転させる Vim のプラグイン作った

Vim

この記事は Vim Advent Calendar 2012 の 259 日目の記事です。 昨日は @IMAGEDRIVE さんの Vim で EPUB を制作する時に役に立つかもしれないスニペットファイル でした。 はじめに Vim はモード切替が特徴的なエディタですが、ときどき自分がインサートモー…

Vim のカラースキームが微妙に気に食わないときの対処法

Vim

この記事は Vim Advent Calendar の 253 日目の記事です。昨日は id:tyru さんの Alt-Spaceでウインドウのメニューを表示、あとウインドウの最大化 でした。 はじめに Vim にはたくさんのカラースキームがありますね。きっとみなさんは、たくさんあるカラー…

Vim 7.4 からの ocaml.vim の変更点

Vim の次期バージョンである Vim 7.4 *1から、デフォルトの ftplugin/ocaml.vim が変わります。 というかデフォルトのやつがいろいろひどかったので僕がパッチを書きました。 パッチを書くにあたり、github の vim-jp の人たちにいろいろ教えてもらいました…

おすすめの :help まとめ

Vim

この記事は Vim Advent Calendar 2012 の 240 日目の記事です。 昨日は id:thinca さんの 空間を飛び越えろ!portal.vim を作りました でした。 :help について :help といえばおなじみ Vim のヘルプを引くためのコマンドです。 :help の引き方については過…

あなたの知らない Vim ~ デフォルトの ftplugin 達 ~

Vim

この記事は Vim Advent Calendar 2012 の 214 日目の記事です。 昨日は id:manga_osyo さんの Vim で Web ページを :source する でした。 Vim では何も設定せずとも様々なプログラミング言語のためのシンタックスがはじめから提供されています。マニアック…

vim-hier をフォークしてみた

Vim

背景 最近 watchdogs.vim の便利さ加減がもうどうしようもないのですが、vim-hier が行にしかハイライトしないので、長い行だとどの桁でエラーが出ているのかよくわからないという問題がありました。 ということでちょっと改造した QuickFix が持っている情…

なんか Vim の relativenumber オプションの仕様が変わったっぽい

Vim

私は set relativenumbr するのが好きです。ちょっと前のパッチでカーソルのある行だけ普通の行番号を表示、それ以外で相対行数の表示という感じになっていたので気に入って使ってました。 ところが、最新のパッチ*1を含めてビルドするとカーソル行の現在行…

Linux Mint 15 をいれたときにやることリスト

Linux Mint 15 が出てたので入れました。 そのとき最初に行う設定のメモ。 これは完全に自分用の備忘録です。いつも忘れるので。 初期状態のディレクトリを英語表記にする ターミナルから使うときは日本語だとつらいので。 $ env LANGUAGE=C LC_MESSAGES=C x…

OCaml のソースコードの型を表示したり定義にジャンプしたりする Vim のプラグイン作った

この記事は Vim Advent Calendar 2012 の 185 日目の記事です。 昨日は id:deris さんの Vimでできる脱出系パズルゲーム でした。 はじめに OCaml という静的型付けの関数型言語があります。同じく静的な型をもつ関数型言語である Haskell とは異なり、副作…

Linux Mint 15 で Vim (GVim) をコンパイル

はじめに Linux Mint 15 が出たので早速 VM にインストールしてみました。 OS をインストールしたらまずやるのは勿論 Vim のコンパイルですね。apt-get だとちょっと古いので最新の機能を使いたかったらやっぱり自分でビルドするのが良いです。基本的には vi…

Vim のコマンドラインモードを使いこなそう

Vim

[Vim]Vim のコマンドラインモードを使いこなそう この記事は Vim Advent Calendar 2012 の 180 日目の記事です。昨日は @raa0121 さんの Sapporo.vim(仮称)発足(仮) のお知らせでした。 はじめに この記事は Vim のカーソル移動などの基本操作を覚えて、自分…

Vim で絶対に OCaml を打ち間違わないための設定

懺悔。私は OCaml のことを Ocaml と書いたまま GitHub に公開してしました。以後気をつけます。すみませんでした。2013-05-27 23:41:14 via Janetterというようなことがあったので。今までは abbreviate Ocaml OCaml と設定することで対処していました。(:h…

tig なんて目じゃない! Git のログ系 Vim プラグイン gitv & gitv をGit 統合インターフェース化する最強の設定

この記事は Vim Advent Calendar 2012 の 168 日目の記事です。 昨日は id:yonchu さんの accelerated-smooth-scroll という Vimプラグイン を作った (Vim Advent Calendar 2012, 167日目) - よんちゅBlog でした。 はじめに 最近、Git のログを見る系のエン…

はじめてプラグインを作ってみた。それとhelpの書き方など

Vim

この記事は Vim Advent Calendar 2012 の 124 日目の記事です。 昨日は @supermomonga さんの vimprocでRubyでプロセス通信・ソケット通信しよう でした。 はじめに Vim にはもともと colorcolumn という機能があります。 たとえば setlocal colorcolumn=4 …

Functional 花見 2013 に行ってきた

Functional 花見 2013 に行ってきました。 天気は良いし、桜は満開で最高のお花見日和でした。 そして、なぜか電源もWi-Fiもあるったのでハッカソンにも最適な環境でした。 本日の成果 @mzp さんに opam という、OCaml 用のパッケージ管理ツールを教えてもら…

今更ながら F# で逆 FizzBuzz を解いてみた。それと List モナド

F#

背景 先週のなごやかScala #9にて、逆 FizzBuzz 問題というものを Scala で解いたものをコードレビューするというのがありました。 はてなダイアリーふっかつと逆FizzBuzz問題をScalaで解こう(前編) - スノトラさんのつれづれ日記 元ネタは多分これ 逆Fizz…

Vim でコピペするときの Tips

Vim

この記事は Vim Advent Calendar 2012 の 40 日目の記事です。 昨日は @kokukuma さんのなんかvimがセグメンテーションフォルト吐いたんですけど。。でした。 はじめに プログラミングに限らず、何かを書くときにコピー&ペーストってよく使いますよね。Vim …

Vim で使える Ctrl を使うキーバインドまとめ

Vim

キーマップに Ctrl キーを使うものを割り当てたいんですが、既存の機能と衝突するのが怖いので調べてみました。 keybind normal visual insert <C-a> 数字を加算 なし さっき挿入した文字を挿入 <C-b> 1ページ上にスクロール 1ページ上にスクロール なし*1 <C-c> (検索)コマ</c-c></c-b></c-a>…

vim-smartinput と vim-endwise が競合した時の対処法

Vim

vim-smartinput も vim-endwise もどちらもすごく良いプラグインなのですが、2 つ一緒に使ってると smartinput の C 系の中括弧入力がうまくはたらかなくなってしまいました。↓正常時 if (hoge) { # } ↓vim-endwise と競合時 if (hoge) { #} 原因 vim-smarti…

Scala の関数の変位について調べてみた

ジェネリックの変位についてはいろいろ資料とかあるんだけど、関数の変位ってどうなってるのか少し疑問だったので調べて見ました。 どういうこと? たとえば、以下のようなイベントがあったときに def onLoad(callback: Event => Unit) def onClick(callback…

LinuxMint13 で gvim をコンパイル

Vim

最新版の gVim が使いたいなと思い、gVim をコンパイルしようとしていろいろつまづいたので備忘録として書いておきます。 OS は LinuxMint13 ですが、多分 Ubuntu でも似たような感じになると思います。 mercurial のインストール $ sudo apt-get install me…

vim で gitk 的なことを行う gitv が便利

前回に引き続き、今回も Vim + Git ネタですが・・・。vimshell や fugitive.vim を使っているとほとんどの操作を Vim 上で実現できるます。でも、gitk だけは別ウィンドウで起動しなければならず面倒だと思っていました。 Vim 上で gitk 的なことを行うプラ…

fugitive.vim が便利すぎたのでメモ

Vim から Git を操作するプラグインとしては、今まで git.vim を使っていたんですが、fugitive.vim のほうが便利だったので乗り換えました。詳しい説明はここ VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい - SELECT * FROM life;ここでは、自分が…

rails + mongoDB

Ubuntu 11.10 に rails + mongoDB な環境を構築したのでメモ。 10gen の GPG キーをインストール $ apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 10gen のリポジトリを追加 $ sudo vim /etc/apt/sources.list で管理者権限でファイルを開…

Vim のプラグインを Vundle でインストールして Git で管理しようとしたらハマった

vimrc に Bundle 'rails.vim'を記述して :BundleInstallみたいな感じで rails.vim を ~/.vim/bundle/vundle にインストールしたあと、.vim ディレクトリで $ git add .しても、 # new file: bundle/rails.vim # # Changes not staged for commit: # (use "gi…

Vim のインサートモードで方向キーが A B C D になる・・・。

Vim

現象 Vim のインサートモード時に hoge と入力したあと、方向キー(↑、↓、→、←)を入力すると、 D C B A hoge みたいな感じで1行上に移動しながら A B C D という文字入力になる。 まぁ、普段はあまり方向キーを入力しないので気にならないです。 が、neoco…

sbt と scalatest をいれました。

sbt のインストール sbt-launch.jar を拾ってきて、パスの通ったフォルダ(例: ~/bin)に置く。 以下のようなスクリプトファイルを作成して sbt という名前で保存。 java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@" 作ったファイルに実行権限を付与す…

heroku にデプロイするときにハマった。

ローカルでは問題なく動作するアプリケーションを $ git push herokuで heroku にデプロイしてみたんだけど、 We’re sorry, but something went wrong. とか表示されてうまく動かない・・・。原因は heroku サーバー上でのマイグレーションのし忘れ。 $ hero…

RSpec の before(:all) と before(:each) でハマったのでメモ

before(:all) と before(:each) と it の実行タイミングとか状態とかについて調べてみた。 コード describe 'invalid user' do before(:all) do @value = 1 puts 'all' end before(:each) do @value += 1 puts 'each' end it { p @value } it { p @value } i…

heroku で rails を使うための環境を 0 から構築した

ふと、heroku 上の Ruby on Rails で Web アプリケーションを作りたくなったので、Ubuntu 10.10 上に環境を構築してみました。 RVM を導入 RVM (Ruby Version Manager) があれば、ローカルの環境に複数バージョンの Ruby をインストールすることができます。…

Ubuntu 10.10 に Google IME を入れたのでメモ

メイン PC の OS を Ubuntu 10.10 にしてみました。 とりあえず、一番最初に気になったのは日本語入力。最初から入っていた Anthy は使いづらかったので Google IME (というか Mozc)を入れました。その時のメモ。 参考にしたページ Ubuntu10.10にMozc(Goo…

F# の判別共用体で電卓もどきを作った

F#

リリカル合宿というハッカソンに参加してきました。 そこでやったことを忘れないうちにメモ。bleis さんに手伝ってもらいながら超簡単な電卓もどきみたいなものを作りました。 例えば、 3 + 4 + 4 というような計算式を入力すると 11 を出力します。 ただし…