比較的大きな規模のプロジェクトになると、ディレクトリツリーの階層もそれなりに深くなる場合が多い。しかも同じディレクトリに常にとどまって作業をしていればいいという話にならなくなってくる。ディレクトリを移動する度に cd /path/to/foo とか cd /another/path/fuga とかもう打ってられないことに気がついた。
vim とかのエディタ内のファイルマネージャーを使えばいいじゃない、と一時期は考えて netrw とか nerdtree とかを我慢して使っていた時期もあったが、どうもディレクトリの移動の度にリターンキーを「ッターン!」 しなければいけないのがつらく、結局使わなくなった。
そんな感じで喜んで使っていたのだが、Pythonのファイルを扱っていると若干問題があった。types.py というファイルがディレクトリに存在すると、それを vim から ranger で開こうとした時点でエラーになってしまうのだ。
123456789101112
Traceback (most recent call last):
File "C:\Python27\lib\site.py", line 62, in <module>
import os
File "C:\Python27\lib\os.py", line 398, in <module>
import UserDict
File "C:\Python27\lib\UserDict.py", line 83, in <module>
import _abcoll
File "C:\Python27\lib\_abcoll.py", line 70, in <module>
Iterable.register(str)
File "C:\Python27\lib\abc.py", line 107, in register
if not isinstance(subclass, (type, types.ClassType)):
AttributeError: 'module' object has no attribute 'ClassType'