MacのVimでPythonのオムニ補完が使えない

MacBook Proが来てから2週間ほど経とうとしていますが、便利に使っております。
ただ、微妙に使いにくいな、と感じたところもあって、Pythonのオムニ補完もその一つです。ってかTeXを導入したときもいろいろトラブったし、AppleVimに何か恨みでもあるんだろうかw
それはともかく、MacのVimでオムニ補完をやろうとすると、こんなエラーが・・・


Error: Required vim compiled with +python
E117: Unknown function: pythoncomplete#Complete

見たところ、'+python' オプションが入っていないとか・・・。
で、実際に :version を叩いて確認したところ、確かに '-python' になってるorz 何がしたいんですかね、Appleは。Macには必ずPythonが入っているはずなのに、わざわざ '-python' でコンパイルする意味が分からない。

MacVimは一応 +python でコンパイルされているみたいなんだけど、どっちみちオムニ補完は使えなかった・・・。Windowsでは普通にできたんだけどなぁ〜。CentOS上でもできたし。Macとはどうも相性が悪いようです・・・設定が悪いだけかもしれないけど。

Macが届いた

しばらく忙しくて更新してませんでしたが、注文していたMacが先週の日曜日に届きました。何を今更、という感じですが。。
注文したのは、MacBook Pro 2660/13.3 MC375J/A。スペックは、こんな感じです。


CPU: Core 2 Duo 2.66GHz
GPU: GeForce 320M
Mem: 4GB DDR3-1066
HDD: 320GB

1週間ほど使ってますが、いい感じです。スペック的には今使っているWindowsよりも若干低いのですが、2世代ぐらい違うパソコンのようにサクサク動いています。予定では家でWindows、外とか実家でMacの予定だったのですが・・・ほぼ乗り換え状態。まあ、ほとんどの作業はWindowsでもMacでもできますからね。
一緒に買ったiPodも手放せなくなりつつあり、このキャンペーンで買ってよかったかな、と。あ、でもまだ申込用紙を出していなかった。。90日以内だから、忘れないうちに出しておこう、っと。

TeXのテーブルを2段で表示する

横に短く縦に長いテーブルを表示させようとすると、ページは食いまくる割に余白が大きくなってしまって、あまり見た目がよくないですよね。そこで、2段で表示してみようというものです。


プリアンブル

\usepackage{supertabular}


本文

\twocolumn
\begin{center}
  \tablecaption{タイトル}
  \label{tbl:タイトル}
  \tablehead{\hline てーぶる \\ \hline}
  \tabletail{\hline}
  \begin{supertabular}{|c|}
    テーブル内容 \\ \hline
  \end{supertabular}
\end{center}
\onecolumn

欠点


  • \twocolumn, \onecolumnで改ページされること
  • 3段以上にはできない

multicols環境なら3段以上にできるのですが、これを使うと左の段にしかテーブルが表示されなくなります。multicols環境が\newpageの定義を書き換えてしまうのが原因なのかな。。

iPod touchが届いた

今日、注文していたiPod touchが届きました。容量は8G。まあ、一杯になることはないでしょう。。
さて、なぜiPod touchを買ったかというと、MacとiPodの学生キャンペーンをやっていたからなんですね。最近レポートが忙しくて、実家に帰ることもあるし、モバイルノートが欲しかったんですよ。で、ちょうど今キャンペーンをやっているということなので、Macを買うついでにiPodも買ってしまえ!と。どうせお金は返ってくるし
カスタマイズの関係でMacよりも先に届いたのですが、使ってみるとなかなか面白い。YouTubeをモバイルで見れるっていうのがいい感じ。ブラウザも普通の携帯よりも遥かに使いやすいし、さくさく動いてくれるし。まあWi-Fiなので、外に出たら基本使えないわけですけど。
そして、やっぱりアプリ。早速、ナンプレとか関数電卓とかを入れてみました。暇なときにナンプレやったり、電卓忘れたときに代用に使ったりと・・・。うん、いい感じ。
ただ、オーディオプレイヤーとしてはWALKMANを持っているので、オーディオプレイヤーとして使うかどうかは微妙。何といっても大きいですからねぇ〜。まあ、アプリを目的として買ったようなものなので、特に問題はないですね。

symfony 1.4でエラーページをカスタマイズする

404エラー

アプリケーションごとに設定する。アプリケーションディレクトリの、config/settings.yml をこんな感じに設定。

all:
  .actions:
    error_404_module:    error
    error_404_action:    error404

で、errorモジュールを作成し、actions.class.php に error404 アクションを追加。

※ .actions を .settings と間違えていたので修正しました。

<?php

class errorActions extends sfActions
{
  public function executeError404(sfWebRequest $request)
  {
  }
}

最後に errorモジュールに、templates/error404Success.php を作成して完了。
一応、「symfony cc」をしておいた方がいいかもしれない。

500エラー

これはプロジェクト全体、アプリケーション内で設定できる模様。特定のモジュールに対してだけ、というのはできないみたい。
プロジェクト、もしくはアプリケーションディレクトリ下に config/error ディレクトリを作成し、その中に error.html.php を作ればOK。
ちなみに、symfony cc 中に表示させるページは、config/error ディレクトリに unavailable.php を作成すればOK。
同じく、「symfony cc」をしておいた方がいいかもしれない。


参考ページ: http://www.symfony-project.org/book/1_2/19-Mastering-Symfony-s-Configuration-Files

Pythonで標準入力からパスワード入力

Linuxのsuコマンドみたいに、表示させずにパスワードを入力させる方法です。どうせ忘れるのでメモっとく。

>>> from getpass import getpass
>>> password = getpass()
Password: