エンジニアだと一日の大半をターミナルやエディタの画面を見つめて過ごす人も多いと思いますが、そういう人(僕含む)にうってつけなのが Solarized。
これは、目に優しいカラースキーム決定版!とも言えるものです。ターミナルだけでなく、Mac、Windows 用の各種エディタ向けの設定も含まれています。
Solarized を使うと、通常はこんな感じでどぎつい色使いのターミナルが、
こんな感じになります。
エンジニアだと一日の大半をターミナルやエディタの画面を見つめて過ごす人も多いと思いますが、そういう人(僕含む)にうってつけなのが Solarized。
これは、目に優しいカラースキーム決定版!とも言えるものです。ターミナルだけでなく、Mac、Windows 用の各種エディタ向けの設定も含まれています。
Solarized を使うと、通常はこんな感じでどぎつい色使いのターミナルが、
こんな感じになります。
その昔、【GVim】Proggy + Osakaで快適コーディングという記事を書いたのですが、当時から 2 年も経って Putty + Vim な環境もずいぶん変わりました。個人的にエポックメイキングと言えるのが次の 2 点です。
両者を組み合わせることでお手軽に快適な環境が得られるわけですが、ここはもう少し踏み込んで自分好みの環境にしてしまいたいところです。
つまり何が言いたいかというと、
半角フォントはやっぱり Proggy Clean の方がかっこいい!
ってことです。そこで Ricty の半角フォントだけを Proggy Clean に置き換えてみました。誰得なんでしょうね? まさに俺得です。
【注意】本記事で解説している vim-powerline はすでに deprecated とされており、開発が停止され、メンテナンスも行われていません。可能ならば、以下の記事で解説しております、powerline への乗り換えをオススメします。
PYTHON 版 POWERLINE を使ってみる
https://blog.delphinus.dev/2013/04/use-python-powerlin.html
Vim の設定においてステータスラインのカスタマイズは最もハマるものの一つだが、Powerline を使うとカコイイステータスラインが簡単に使えていい感じ。プラグインを導入する(+ いくつかの設定)だけで次のようなステータスラインがすぐ使える。
このプラグインが特徴的なのは、そのために専用のグリフまで用意しているところ。スクリーンショットで情報の境目に使われている > < のような記号がそれである。
これは既存のフォントに FontForge を使ってパッチを当てることで作成されるのだが、FontForge が簡単にインストールできる Linux、Mac OS X ではいざ知らず、Windows 環境ではなかなか大変。今回は cygwin を使うことで Windows 環境でフォントにパッチを当ててみた1。
Perl で GUI を構築するときに便利なアプリ、「The GUI Loft」を公開していたサイトがドメインの期限切れにより見えなくなっている。業務で必要だったので青くなったが、幸いゴミ箱から発見できたので置いておこう。
https://blog.delphinus.dev/2010/03/gui-programming-with-win32-gui-loft.html
Loft_binary.zip
へのリンクは削除しておきました。
解凍したフォルダを再圧縮したものなので、オリジナルとは多少異なっている恐れがあることをお断りしておく。
Whois で調べてみると、1 月 5 日にはドメインが失効していたらしい。このまま消えちゃうのかなあ.com
」になっているので FW によっては弾かれるかも知れません。)
もう 3 回目になるが、Perl スクリプトを exe 化する方法について。Perl が 5.12.2 にアップデートしたのでまとめてみた。
PARでPerlスクリプトをexe化 @ ActivePerl 5.10.1 build 1007
https://blog.delphinus.dev/2010/02/par-activeperl-5101-build-1007.htmlActivePerl 5.12 で PAR::Packer をインストール
https://blog.delphinus.dev/2010/04/install-par-packer-on-activeperl-5120.html
まずは、PPM(Perl Package Manager)を使って必要なモジュール(+α)をインストールする。
キーカスタマイズソフト keyhac において、“複数のキー入力へアクションを割り当てる”ことが可能になっていた。要するにこれは、Emacs 風のショートカットを実現するためのものだ。
from keyhac import * def configure( km ): # グローバルキーマップ kmg = km.defineWindowKeymap() # “切り取り”は C-W に退避させておく kmg[ "C-W" ] = "C-X" # マルチストローク設定 kmg[ "C-X" ] = km.defineMultiStrokeKeymap() # 開く kmg[ "C-X" ][ "C-F" ] = "C-O" # 上書き保存 kmg[ "C-X" ][ "C-S" ] = "C-S" # 名前をつけて保存 kmg[ "C-X" ][ "C-W" ] = "A-F", "A" # 終了 kmg[ "C-X" ][ "C-C" ] = "A-F4"
これにより、Control を押下したまま、XC と順に叩いてウィンドウを閉じることができる。さらに応用として、
keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1、その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。
GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、
これで 3 番のウィンドウに切り替わる。毎回 Control を離す動作が面倒なのだ。これを、単に Control + 3 だけで切り替わるようにしたい。
config.py
(部分)def configure( km ): km_putty = km.defineWindowKeymap( exe_name = u"PUTTY.EXE" ) for i in xrange( 10 ): km_putty[ "C-" + str( i ) ] = km.command_InputKey( "C-Z", str( i ) )
2 行目では特定のプログラム(PUTTY.EXE
)でのみ有効なキーマップ(km_putty
)を得ている。そして 4 行目がキモ。command_InputKey
メソッドは引数に並べたキーを順に押した場合と同じ効果を得るための関数を返す。
このスクリプトを使うと、Putty + GNU Screen な環境で Control + 0 ~ 9 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。