2010-01-01から1年間の記事一覧

conceal を使って全角スペースを□で表示する

vim

ってのをやってみたんだけど、結果的に微妙だった。一応やり方を紹介しておく。 設定 解説とかは面倒なのでソースのみ。 " conceal の表示を有効にする set conceallevel=1 " どのモードで conceal の文字にするか set concealcursor=nvic augroup vimrc-hig…

端末の Vim でも Alt キーを使う

vim

本当は Vim Hacks のネタにしようと思ってたんだけど、どの環境でも動くかよくわからんし確認もしようがなかったのでメモ代わりにこっちに書いておく。というわけで環境によっては動かないかもしれないのであしからず。 端末の Vim のノーマルモードで Alt …

Windows ではバッファ名に使えない文字

vim

ざっと調べたところ、Windows では以下の文字は Vim のバッファ名に含められない。 * ? " | < >これらの文字が入っている場合、例えば :new *buffer* などとすると、 E480: No match: *buffer*とか言われる。`='*buffer*'` を使ってもダメ。 Vim のバグな気…

第3回 sugamo.vim に行ってきた

第3回 sugamo.vim にお邪魔してきたよ。 前回同様まったりもくもくと作業しつつ、気になったことやわからないことがあればその場で気軽に質問する感じで、あのまったりした感じが私は好きです。 初心者向けの発表もあったので、その資料へのリンク貼っておき…

簡単な unite の source の作り方

と言うわけで、unite の source の作り方を紹介します。本格的に作って配布したい場合は専用のファイルに書くのがいいのですが、今回は手軽に作ろう、ということで vimrc に書きます。そう。unite の source は vimrc でも書けます。 今回作るもの サンプル…

unite で ref.vim の検索をする

ちょっと前に作ってたのでここで晒しておく。https://github.com/thinca/vim-ref/tree/unite絶賛テストバージョンです。自己責任で! あ、あと複数の ref バッファを一度に開こうとすると最後の以外が真っ白になるというバグがあります。直すのちょっと手間…

unite の action にショートカットを設定する

unite では で action を選択できるけど、やっぱりよく使うものにはショートカットを設定しておいて一発で実行したい。ショートカットについては (unite_do_delete_action) などがいくつかあるが、action なんて無尽蔵に増えるし全ての action に対して が設…

unite の で最初の項目を飛ばす

unite で絞り込み文字列を入力しているとき、常に先頭の候補が選択されていてその部分の色が変わる。 で、選ぶときすぐ近くにある場合は Vim の補完の癖もあってノーマルモードを使わないで で選ぶのだけど、1 回押しただけでは最初の項目が選択されるだけで…

unite の action を unite で選ぶ

unite では選んだ対象に対して様々な action を実行できる。たくさんあるので、デフォルト以外の action を実行する場合は選択する必要がある。 選択したい場合は対象を選んでから を押す。すると…こういう風になって action を選べるわけだが…ちょっと待っ…

unite で複数のファイルを新しいタブにまとめて縦分割で開く

個人的にそういうことをよくやるので、action を定義した。こういうのが簡単にできて unite は素晴らしい。 let s:unite_action = { \ 'is_selectable': 1, \ } function! s:unite_action.func(candidates) " {{{ tabnew `=a:candidates[0].action__path` fo…

unite.vim で選んだディレクトリで更に file_rec を起動する

unite の file_rec は特定のディレクトリ以下の全ファイルを列挙する source で、プロジェクトのルートなんかを指定すればプロジェクトの全ファイルを一望できてすごく便利なんだけど、肝心の指定方法が現在のディレクトリだったりコマンドラインからの指定…

textobj-plugins のリポジトリを分割した

textobj-plugins のリポジトリには 4 つのプラグインをまとめてつっこんであったんだけど、以前 tyru さんに分割して欲しいと言われていたので、遅ればせながらようやく分割した。 http://github.com/thinca/vim-textobj-between http://github.com/thinca/v…

物理行と論理行

今、Emacs テクニックバイブルを読んでいるのだけど、p110 の screen-lines.el での物理行と論理行の説明に引っ掛かった。 物理行とは改行文字まで区切られた文字のことで、論理行とは画面上の見かけの行のことです。 Emacs テクニックバイブル P110 より 私…

unite.vim の設定を一部晒してみる

Shougo さんの unite.vim がかなり便利。 unite 自体に関する説明は省略するとして*1、特に unite#set_substitute_pattern() を使うといろいろできる。ので、私の unite の設定の中にある unite#set_substitute_pattern() に関する部分を晒してみる。 unite#…

第8回GamePM勉強会に参加してきた

と言うわけで今回もGamePM#8に行ってきました。当日の Togetter(@swiftnest さん作成): http://togetter.com/li/62467 人に伝える、教える、考えさせる? - id:s_ryuuki 発表資料 id:s_ryuuki さんの体験を元に、リーダー、先生、メンターというそれぞれの立…

for で配列とかを処理するときの話

Java で配列やその類のものを for で走査する場合、index が欲しい場合か、拡張 for ループが使えない場合は for (int i = 0; i < array.length; i++) { // something... } のようにするのが一般的だと思う。 が、私は普段以下のように書いてる。 for (int i…

いくつかの Vim の ftplugin の gist をリポジトリに移した

vim

いい加減溜まってきたし gist じゃ探しにくいだろうと思ったので、gist で公開していた ftplugin をリポジトリ作ってそちらへ移した。 svn_diff.vim http://d.hatena.ne.jp/thinca/20100218/1266485042 http://gist.github.com/307495 → http://github.com/t…

yokohama.vim に行ってきた

と言うわけで行ってきた。 Yokohama.vim #0 : ATND有線LANもあって素晴らしい会場でした!guyon++ 当日の USTREAM USTREAM: Yokohama.vim: . カンファレンス 当日のチャットログ http://lingr.com/room/yokohamavim/archives/2010/09/25 ポジションペーパー…

Re: UbuntuのノートPCでVimをコンパイルした

+lua が入らないという話。 --enable-luainterp(Luaインターフェース)をつけるとコンパイルできない 解決法: あきらめる 誰かLuaインターフェースをUbuntuでコンパイルする方法教えてください... UbuntuのノートPCでVimをコンパイルした - Humanity あきらめ…

続・Vim で JavaScript の E4X をハイライトする

以前こういうのを書いたんだけど、あまりに適当だったのでやはりきちんと使うとボロが出てしまった。 @thinca さん、昨日の URL を試してみました。いい感じです! が、divの入れ子とかになると途中で途切れちゃいますね...2010-09-03 20:18:35 via Twittper…

diff を折り畳む

vim

あるとき突然 diff 形式のファイルを折り畳みたくなったんだけど、diff なんて昔からあるしすでにあるだろと思って探したのだけどどうにも見当らなかったので適当にでっち上げた。Unified形式のみ対応。Unifiedの中でも微妙に形式違ったりするのでうまくいか…

commit --amend 時にコミットログの入力を省く

git

git commit --amend を使うと、直前のコミットでやり忘れた変更を付け足せるのでとても便利。 でも、多くの場合は変更部分に typo を見つけた場合とかファイルを追加し忘れていた場合などで、コミットログの編集を行うことはほとんどない。でも --amend をす…

「わかる!JavaVM ― 2時間でわかる?JavaVM入門」に行ってきた

わかる!JavaVM ― 2時間でわかる?JavaVM入門 : ATND Java の処理系は以前趣味ですこーしだけかじった程度の私が参加してきました。 例によってメモとか取ってないので記憶の断片から感想をば。 クラスローダーについて - @ashigeru 発表資料: http://www.slid…

Befunge の処理系を Vim で書いた

wikipedia:Befungehttp://github.com/thinca/vim-befungeBefunge-93 の適当実装です。 使い方 Befunge のソースを開いて、:Befunge コマンドを実行するだけです。 :Befunge! で、新しいウィンドウを開いてゆっくり実行します。 前も書いたけど、Vim は可視化…

help と conceal

vim

Vim 7.3 に追加された新機能に conceal と言うものがあり、これを使うとシンタックスハイライトされた要素の表示を消すことができる。対象自体がなかった文字のように文字が詰めて表示される。 これを利用して、Vim の help ファイルでは *hoge* の * や、|h…

git pull とかで落ちてきた部分のコミットを見る

git

git pull とかやって、だーっと落ちてきたけど、今新しく落ちてきたのってどの部分だよ、とか言うときに使う。 git log HEAD@{1}..HEAD --reverse --reverse は好み。下に行くほど新しいコミットになる。 私は以下のようにaliasしてる。単語的に正しいかどう…

特定の文字列で始まるグローバル変数を列挙する

vim

なんかやたらと設定用のオプションの変数が多いプラグインがあると、どんな変数があって今どんな値が入っているのか知りたくなることがある。てことで私のvimrcには以下のようなコマンドが定義してある。 command! -nargs=+ Vars PP filter(copy(g:), 'v:key…

Windows で Vim をソースコードからビルドする

7.3 の開発も始まり今もアツい Vim。先日スナップショット版のWindows用のインストーラも公開されたが、それ以降の最新の機能を試したい場合や好みの機能を入れるには、自分でソースコードからビルドする必要がある。 ただソースコードからのビルドは中々に…

Vim から Github Issues が使いたくなったので github.vim を作り始めた

最近 eskk.vim の Issues とかで Github Issues を割と見るようになった。 で、ブラウザいちいち開くのも面倒だし幸い Github には API があるらしいので、github.vim とか言うのを試しに作り始めてみた。 完成度高めるよりとっとと公開してしまおうってこと…

vimrc に起動時のみに実行されるコードを書く

vim

以前書いた記事にもちらっと出てきたけど、私は g:loaded_vimrc って変数を用意してそれで初回読み込みかを判定していた。 しかし、それだけが目的ならその必要はなかったようだ。 Vim には vim_starting と言う feature があって、これは VimEnter イベント…