今天给大家推荐一个非常好用的文件管理器:ranger。
这个小软件是我数天前在网上无意间碰到的,然后就适用了一下,发现非常的好用。主要是这款软件是模拟vi类似的按键,所以对于那些喜欢使用vi的同学来说应该用起来非常的顺手。
下面是我的一个截图:
这儿有对它的介绍:http://linuxtoy.org/archives/ranger-terminal-file-manager.html
我使用的是fedora14,开始我是使用yum install ranger进行安装的。这样安装的版本是1.1.2
我发现在使用过程中,有时在选择文件的时候,使用V时只能选择当前和下一个,所以我就换了一个,安装了最新版,1.5.3,可以点击下载
但是,最新版也有一个问题,就是在我进入中文命名的目录的时候,ranger就崩溃了。这儿也有人提到:http://savannah.nongnu.org/bugs/?35507
但是没有给出解决方案。
然后我想到当时安装1.1.2的时候并没有出现这样的问题,于是我就找到了1.1.2中对应 代码。
ranger崩溃的原因在于:在文件/usr/lib/python2.7/site-packages/ranger/gui/ui.py 中的296行有“ fixed_cwd = cwd.encode('utf-8', 'surrogateescape'). ”,这儿无法对中文字符进行编码。而在1.1.2中对应的代码处是没有这一句 的,所以我就试图改成1.1.2中的形式:
try:
sys.stdout.write("\033]2;ranger:" + cwd + "\007")
except UnicodeEncodeError:
sys.stdout.write("\033]2;ranger:" + ascii_only(cwd) + "\007")
但是,我改完之后,程序还是报错:
File "/usr/lib/python2.7/site-packages/ranger/gui/ui.py", line 296
try :
^
IndentationError: unindent does not match any outer indentation level
没办法,我不改了,最后我是直接将 fixed_cwd = cwd.encode('utf-8', 'surrogateescape') 这句给注释掉了。
然后试了试,发现可以了。现在是对于中文目录还没有出现什么问题。
如果大家有什么好的方法的话,记得给我留言阿!
ps:截图中,我是使用的terminator,它可以开多个标签,可以分隔窗口。