【Vim】カラースキームを切り替えるたった一つのさえたやりかた

おもしろいカラースキームを見つけました。Vim を起動すると部屋の明るさに併せて明暗二種のカラースキームを切り替えてくれます。

部屋が明るいとき

部屋が明るいとき

部屋が暗いとき

部屋が暗いとき

plum – Light & Dark colorscheme with ambient light detection (for Mac users) : vim online
http://www.vim.org/scripts/script.php?script_id=4660
https://github.com/gcmt/plum.vim

どんな仕組みかと思ったら、Macbook Air についている前面カメラを使って明るさを測定しているんですね。だから(カメラのついている)Mac 限定の機能です。

Continue reading

【vim】80桁教信者の憂鬱

「ソースコードは必ず 80 桁目で折り返さないといけない」 というのは遠く COBOL 時代から続く風習であり、昨今の若者にとっては理解しがたい慣習の一つかもしれませんが、プロジェクトによってはこれが厳守事項だったりすることもあるでしょう。

ソースコードは横80カラム以内で折り返すべき? – QA@IT
http://qa.atmarkit.co.jp/q/2342

僕もこの 80 桁教信者 の一人でして、自身が書く場合は必ずコードを 80 桁に収めるようにしています。Macbook Air 11inch の狭いモニタだと、ウィンドウを 2 つ横に並べた状態で丁度読みやすい幅になるんですよね。

vim にはこのような入力方法を助ける機能として 'textwidth' がありますが、補助的に、'colorcolumn' を使うと便利です。

たとえば、次のように設定すると、

set colorcolumn=80

80 桁目に印が付くので、分かりやすいです。

80 桁目に色を付ける

80 桁目に色を付ける

Continue reading

Vim でタイル型ウィンドウマネージャ その2

前回紹介しました dwm.vim を使うときに更に便利なプラグインが作成されていたのでご紹介。

Vim – dwm.vim用にuntie-dwmプラグインを作った – ぼっち勉強会
http://kannokanno.hatenablog.com/entry/2013/05/30/140838

これに併せて Unite の設定も以下のように変えました。

noremap zp :Unite buffer_tab file_mru<CR>
noremap zn :UniteWithBufferDir -buffer-name=files file file/new<CR>
noremap zd :Unite dwm<CR>

autocmd FileType unite call s:unite_my_settings()

function! s:unite_my_settings()
    " 上下に分割して開く
    nnoremap <silent> <buffer> <expr> <C-J> unite#do_action('split')
    inoremap <silent> <buffer> <expr> <C-J> unite#do_action('split')
    " 左右に分割して開く
    nnoremap <silent> <buffer> <expr> <C-K> unite#do_action('vsplit')
    inoremap <silent> <buffer> <expr> <C-K> unite#do_action('vsplit')
    " タブで開く
    nnoremap <silent> <buffer> <expr> <C-T> unite#do_action('tabopen')
    inoremap <silent> <buffer> <expr> <C-T> unite#do_action('tabopen')
    " vimfiler で開く
    nnoremap <silent> <buffer> <expr> <C-O> unite#do_action('vimfiler')
    inoremap <silent> <buffer> <expr> <C-O> unite#do_action('vimfiler')
    " dwm.vim で開く
    nnoremap <silent> <buffer> <expr> <C-N> unite#do_action('dwm_new')
    inoremap <silent> <buffer> <expr> <C-N> unite#do_action('dwm_new')
    " 終了
    nnoremap <silent> <buffer> <ESC><ESC> :q<CR>
    inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR>
endfunction

今までは Ctrl + N を押してから znzp で Unite を開いていたのですが、Unite ウィンドウで Ctrl+ N しても同様のことができるようになりました。

【Vim】タイル型ウィンドウマネージャでタブいらず

4 日連続で Powerline の記事ばっかりだったので、ちょっと別の話を。

タイル型ウィンドウマネージャという概念を知りました。作業中は常に画面全部をウィンドウで埋め、複数のアプリケーションを開いた状態での一覧性を重視したウィンドウマネージャです。Windows ならば Aero スナップ1を使うことでこれに近いことが出来ます。

vim というエディタはそもそもこの タイル型方式 です。複数のファイルを開くときは画面を分割して行き来するか、 バッファー という形で画面の裏側にたまってきます。そもそもタブ機能なんてのは後から加えられたものでした。

vim でタイル型ウィンドウマネージャを実現する dwm.vim

dwm.vim はタイル型ウィンドウマネージャとして著名な Dwm にインスパイアされたプラグインです。百聞は一見にしかず、使っているところを動画に撮ってみました。

Continue reading

Screen の caption に Vim のタイトルを表示する(+タイトル文字列のカスタマイズとか)


Vim を起動するとタイトルバーに編集中のファイル名などが表示されます。

Screen で「タイトルバー」の代わりとなるものは caption ですが、そのままの設定では Vim からのメッセージが表示されません。
これは次のように設定すると解決します。^[ のところは Control + V ESC のように入力してください。

if &term =~ '^screen'
    set t_ts=^[k
    set t_fs=^[\
endif

はい。終わり。……では悲しいので、この文字列をもうちょっとカスタマイズしてみましょう。

Continue reading

Vim のカラースキーム集 2012 年版

2 年前の記事で紹介した Colour Sampler Pack が久しぶりに更新されていました。

Colo(u)r Sampler Pack – [[[Oct 2012 Update]]] Top 100(ish) Themes, GUI Menu : vim online
http://www.vim.org/scripts/script.php?script_id=625

vim-scripts/Colour-Sampler-Pack · GitHub
https://github.com/vim-scripts/Colour-Sampler-Pack

インストールは Github からやった方が簡単ですね。Vundle なら次の一行を .vimrc に加えて、:BundleInstall<CR> するだけです。

Bundle 'vim-scripts/Colour-Sampler-Pack'

GVim ならメニューも追加されてマウスで色んなカラースキームを選ぶことが出来ます。以前紹介した Solarized も含まれています。


121209-0010.png

でも Vimmer ならマウスなんぞ使わずキーボードで選択したいですよね。そういうときは Unite-colorscheme がオススメです。

Vim-users.jp – Hack #188: 見た目を気軽に変更する
http://vim-users.jp/2010/12/hack188/

:Unite colorscheme<CR> で起動した後は、KJ で選択し、P でプレビュー、Enter で選択です。

便利ですね〜。先人に感謝です。

最近の(僕の)GNU Screen 事情

久々に GNU Screen について書きます。

先年 Screen 界に颯爽と現れ、その 変態的なまでに 充実した .screenrc により他人の .screenrc をコピペしてきて済ませちゃう(引用)各人の蒙を啓き、そのまま .screenrc の新世界の扉まで開いちゃった暇人は多大な時間を浪費して、たかが画面最下部の一行を自分以外の誰も気付かないようなギークな装飾で彩り、悦に浸り、しばらくすると飽きて馬鹿馬鹿しくなり、喉元過ぎて熱さを忘れるとまたその伏魔殿に挑むという、何とも業の深いサイクルに僕が陥るきっかけとなったエントリがこちらです。

卜部昌平のあまりreblogしないtumblr – 俺の .screenrc が火を吹くぜ
http://shyouhei.tumblr.com/post/313410522/screenrc

先日、ありがたくもこのご本人から Screen についての講義を拝聴する僥倖に恵まれ、久々にサイクルが一巡し、また .screenrc にハマってしまいました。

このブログのエントリ を書いたときからはだいぶ状況も様変わりしていますので、改めて現況をまとめてみたいと思います。

Continue reading