2011-11-16
自分の宣言
パソコンというかHDDが壊れてから、復帰するまでに時間がかかってしまった。
新しい環境を準備するだけでなく、どうしたいのか自分の方針を決めずにふらふらしたからここまで時間がかかってしまったのだと思う。
思いつきで試してはまた別の思いつきにはまって最初から構築を行って、3歩進んでは2.9歩下がるやり方を続けていけば、そりゃ進歩は遅いし何も残せないのも当たり前だと思う。
今回は自分が何をしたいのか、何を変えないですすめていくのかを宣言するために書き込む。
1.OSについて
基本はWindowsしか使ってないのに、たまにLinuxをいじりたくなる。Linuxの方がお金なんかも気にしないでいいことが多いし、Debianの最小状態から少しずつパッケージを入れてはConfigを少し触って動くようにするというのは非常に面白いからはまりやすい。でも、時間をかけた割には使えない環境のままだし、パッケージを小分けにするからすべてのものが繋がって使いやすい環境にするというのは非常に根気のいる作業になっている。そのせいで、いつも挫折する。
だからこそ、自分が常時使うマシンのOSはWindowsで統一する。
Windowsにすればインストール後に、使いやすい環境になる(Linuxでも同じレベルまで持って行けるのは分かっている)し、ミニマムから作り上げていこうということも許されないから、OSと基本的な環境構築に時間もとられない
なにより一番の理由はキーボード入替ソフトの「のどか」。「窓使いの憂鬱」という名前で知られメンテナンスが終了したソフトがシェアウェアとして別の方が公開しているもの。これを使い始めて設定を入れまくると他のOSにしたとしてもこのソフトだけは持って行きたくなる。Linux版もあるから使っていたけど、うまく反応しない場合もあったりして歯がゆい思いをしていた。
日本語キーボードで「変換」と「無変換」を活用しまくるとほんと手放せなくなるソフト。
あとはATOKをはじめとする細々としたユーティリティのソフト群。USBメモリで持ち運びできるようにしたから、もう他のOSに移ることはできない状態になってしまった。
2.エディタについて
Vimと名前をつけたBlogにしようとしてるのに、eclipseやNetbeans、果てはサクラエディタやnotepad++などいい紹介記事があったらふらふらと喰いついてしまう。
これについても浮気せずにVimの習得に専念するようにここで宣言したいと思う。
一番の理由はキーボードでの移動がhjklが基本になってしまったから。
上で紹介した「のどか」を使って、【無変換】+h,j,k,lで常時カーソルの代わりができるようにしてしまった。この移動体系に慣れてしまうと、WORDやEXCELなんかを使うときでもggやGで移動したりしようとしてしまう。
各アプリでもvimと同じ移動を再現したりすることもできたりするが、結局物足りなかったりするので、vimに戻ってくるのだ。
無駄に行き来することなく、エディタはvimとして固定することにする。
(ほんとはnotepadも追い出した方がいいんだろなぁ)
3.Cygwinについて
Vimで作業をしているといろんなコマンドと連携したいときがでてくる。それに対応するときはどうするかというと、
という方法をいろいろ試したりしてみた。
Cygwinは不安定だったり、持ち運びが面倒だったり、なによりもあのsetup.exeの使いにくさのせいで、何度もいれてはやめてを繰り返していた。
他の方法も試してみたけど、物足りないことも多く満足できなくてCygwinを再インストールしてまたイライラする日々。
この対策としてgnupackを採用することにした。cygwinとemacsをすぐ使える環境にするという内容だけど、gvimも含まれているし、構築方法も書かれている。Cygwinのパッケージのインストール方法だって、最近はやりのapt-cygも最初から入っているからやりやすい。
一番気に入ったのが、フォントの持ち運びが可能なこと。gnupack内のフォントフォルダに気に入ったフォントをコピーして設定を書けばUSBメモリを持ち歩いてどこでもフォントを含めた同じ環境を再現できること。これはすごい。gdi++も一緒に設定できるから、見た目もばっちりになる。
まだ導入したばかりだけど、gnupackを使って、自分の好きなCygwin環境にしていこうと思う。
4.Vimについて
エディタでvimにすると決めたけど、vimもどれを入れるのか迷う点がある。
ざっと思い浮かぶだけでも
とあって、一長一短がある。日本語でのWindowsを考えるなら2の香り屋版だけど、持ち運びを考えるなら、3のfudist版vim(レジストリ登録なし、utf-8対応)も捨てがたい。
一番の理想は自分でソースからビルドすることなんだろなと分かってはいるけど、悩む。
ここについては決定せず、とりあえずgnupackに含まれるgvimを使いながら、機能が物足りないと思ったら香り屋版と入れ替えを検討し、最終的には自分でビルドするのを目標にしておこう。
今日の内容によりでた結論。
使ってるパソコン
ノートパソコンを使用。以前はThinkpadX30を使っていて、USB2.0がないなど不便な点はあったけど、12インチのB5サイズノートは使い安かった。
これが壊れてどうしようかと悩んでいたけど、次もやはりThinkpadがいいのと、いろいろ遊んでみたいのでオークションでTabletにもなるタイプに探し出して落札。
というわけで詳細は以下
ThinkpadX60Tablet
- メーカー:IBM Lenovo
- 型番:ThinkPad X60 Tablet(6363-AJ3)
- CPU:デュアルコアCPUインテル CoreDuo
- 周波数:1.83Ghz
- メモリ:1024MB
- HDD:80GB
- 液晶:12.1インチ XGA(1024x768)
- 無線LAN搭載
- OS:WindowsXP Tablet PC Edition
この6363-AJ3というのがくせ者で、こいつ以外はペンと指と両方で操作できるというのに、ペンでしか操作できない。まあペンで操作しても面白いからいいんだけど。
でもって、前のはHDDが吹っ飛んで使えなくなったからSSDへ変更。メモリも1Gx2枚の2Gに。OSはXPのTabletEditionだけど、持っていたCDから入れ直して不要なソフトを入れないようにした。
こんだけやったら静かで結構速くなった快適なマシンのできあがり。
Rictyを作成する
Rictyを作る
FontのRictyが最近人気があるけど、ライセンスの関係上そのまま配布ができなくなったらしい。
というわけでこちらの記事を参考に自分でも作ってみる。
- まずはiconsolata.otfを入手(http://levien.com/type/myfonts/inconsolata.html)
- 次にMigu1Mを入手(http://mix-mplus-ipa.sourceforge.jp/download.html#migu1m)して解凍
- Ricyの生成スクリプトを入手(http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html)して解凍
- Ricty generator for Windowsをhttps://gist.github.com/1005269から入手(Downloadボタンをクリック)。解凍する。
- unofficial fontforge-mingwをhttp://www.geocities.jp/meir000/fontforge/にて入手。最新バージョンでは幅がおかしくなるので旧いバージョンを使用するとのこと。
- 解凍したファイルの中にあるfontforge.batを起動する。(今回はc:\root\tmpに解凍した)
- 閉じたあと、各ファイルをfontforge.batを置いてるところに全部集める
Inconsolata.otf
migu-1m-bold.ttf
migu-1m-regular.ttf
modified_inconsolata_generator.pe
modified_migu1m_generator.pe
ricty_discord_patch.pe
ricty_gen.bat
ricty_generator.pe
- ricty-gen.batを起動する
- エラーをはき出しながらも4種類のRictyが作成される。
このできあがったフォントをgnupack内の/app/fontにRictyフォルダを作成してコピーする。
次にgnupackにあるconfig.iniを編集
[SetEnv]の項目に
_font_ = Ricty Regular
[Font]の項目に
font_file4 = %INST_DIR%\app\font\Ricty\Ricty-Regular.ttf
を追加(今回はDiscordも作成されてるけどいまのとこスルー)
これでgnpackからはRictyを使用することが可能。
RictyはLinuxでは評価がいいけど、Windowsではあまりよくない。確かにそのまま使うと文字がかすれたりして見えにくいのだが、gdi++を経由させて使うと非常にみやすい。gnupackはgdi++を簡単に使えるようになってるから、これで見やすいvim環境ができあがった。
ちなみに.gvimrcに以下を追加
set guifont=Ricty:h10:cSHIFTJIS
2010-12-03
関数の使い方
先日のメニュー表示非表示についてid:tyruさんから関数にした方がいいとのありがたいコメントをいただいた。しかもgithubにお手本まで!ほんとにありがとうございます。(2週間もたってIDコールされても傍迷惑なだけかもしれないけど)
"Hide menu and Tool bar nnoremap <silent> <C-F2> :<C-u>call <SID>toggle_guioptions()<CR> function! s:toggle_guioptions() if &guioptions =~# 'T' set guioptions-=T set guioptions-=m else set guioptions+=T set guioptions+=m endif endfunction
1行目はコメント
2行目にキーマップの設定
- noremapはノーマルモード、ビジュアルモード、オペレータペンディングモードで有効でなキーバインディングを定義する
- 今回の「n」noremapはそのうちノーマルモードだけを対象とする。
- <silent> を入れることで、コマンドラインへの出力を抑制(ちらつき防止とのこと)
- <C-F2> CTRLキーとF2キーを押したとき
- <C-u> 5回繰り返すなどのcountの指定の影響を除去し、意図しないコマンドが実行されないようにする
- call <SID> 次の関数を呼び出せ
- toggle guioptions() 今回設定した関数の名前
- <CR> エンターキー
つまりノーマルモードのときにCTRLキーとF2キーを一緒に押したら、コマンドラインモードに移行してtoggle guioptions()を呼び出せという内容
4行目で今回設定するtoggle guioptionsについての内容がかいてある。 function!がいまから関数を設定するよという宣言みたいなものかな。
5行目でif文による条件分岐 この場合、現在のguioptionsをチェックして、Tが含まれていたら、
guioptions-=T (ツールバー非表示) 6行目
guioptions-=m (メニューバー非表示) 7行目
逆に現状にTがなかったら、ツールバーもメニューバーも表示する。 8~10行目
ということで理解した。
追加で調べる内容
- function! の最後にある!
- &guioptions の先頭の&
- if文の=右にある~#
2010-11-16
画面を広く使う
gvimを使っていると、アイコンなぞ邪魔になってくるので、これを非表示にして場所を広くとりたくなる。かといって、常に非表示なのも使いたいときに困る。
このジレンマを解消するのに、先日参考にしたステータスラインについて設定が記載されてたSourceforgeのサイトにあった切替の設定を追加することにする。
"Hide menu and Tool bar map <silent> <C-F2> :if &guioptions =~# 'T' <Bar> \set guioptions-=T <Bar> \set guioptions-=m <Bar> \else <Bar> \set guioptions+=T <Bar> \set guioptions+=m <Bar> \endif <CR>
結構増えたような気がするけど、文頭の「\」は見やすくするために長い一行を分割するためのもの。7行あるように見えるけど、実際は1行だけ。
だから戦闘力は29。
2010-11-13
Ubuntuで窓使いの憂鬱を使う
本来、WindowsでUnixと同じように使いたいということから始まったはずの「窓使い憂鬱」をUbuntuでも使えるようにする。
どこかのサイトに影響されてから、メインとなるWindowsマシンでは、
- SandS(スペースキーをShiftキーとしても使えるようにする)
- どのウィンドウでもh,j,k,lでの移動ができるようにする
- 「;」をEnterのかわりにする
など色々変態的キー配列を設定しているのです。
慣れてしまうと、通常の配列に我慢できなくなるので、Ubuntuマシンでも同じようにやりたくなるのです!
ですが、キーの入替はできても、何かのキーと一緒に押して違う役割をもたせるモディファイヤーというのは窓使いの憂鬱じゃないとできないのです。
というわけで、色々ぐぐった結果下記のページを参考にしてインストールすることにしました。
http://d.hatena.ne.jp/nokturnalmortum/20090227/1235742723
http://members.at.infoseek.co.jp/hattoushin_uma/
で公開されてましたが、infoseekの閉鎖にともない、
http://www42.tok2.com/home/negidakude/
に変更へ。
非常時には
http://www.appletkan.com/download/mayu-0.11.tar.gz
ここでも公開されてる。
というわで作業内容
- $wget http://www.appletkan.com/download/mayu-0.11.tar.gz でファイルを取得
- $sudo cp mayu-0.11.tar.gz /usr/local/src でファイルをコピー。(パッケージを使わずにソースからインストールする場合は/usr/local/srcに置くのが伝統だったはず)
- $ sudo tar xvzf mayu-0.11.tar.gz (/usr/local/srcに移動後) で解凍
- 足りないファイルをインストールする
$ sudo aptitude install build-essential
$ sudo aptitude install libboost-iostreams-dev
- ./configure, make, make install の3つのコマンドでインストール終了(もちろんsudoで)
これで /usr/local/bin/mayu が作成される。
自動起動にするために
内容はhttp://d.hatena.ne.jp/nokturnalmortum/20090227/1235742723 を参考。
- $ sudo update-rc.d mayu start 10 2 . stop 10 0 1 3 4 5 6 .
で立ち上がるようにする。
2010-11-11 1日どころか週1でもやばい
ステータスラインについて
gvimを使っているけど、見た目が全然かわってない。
特にステータスラインについて何も設定してないので、有益な情報が表示されないでいる。
そこで、こちらのサイトを参考にvimrcを編集することにした。
そこにある内容のうち
を設定する。
試しに
:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
をコピーして貼り付けたところ何も表示されない。
:set laststatus=2
を入力して始めて表示された。
ステタースラインを常時表示させるための設定が必要とのこと。
設定内容については参考記事を参照。でも、名前で大体想像できるので問題なし。
というわけで、vimrcにステータスラインの設定を追加
"StatusLine set laststatus=2 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
これで戦闘力は29に。