vifm是Linux下的一个控制台文件管理器,我很少使用文件管理器,要用一下,就拿出vifm来。图形界面的文件管理器我不喜欢用,控制台下有人叫做
mc的,功能很强大,但快捷键实在用不习惯,还经常和Terminal下的快捷键冲突,找来找去也只找到vifm这个还勉强可用,快捷键模拟vi,符合我的习惯。
vifm最主要的特点是模拟vi的快捷键,例如要复制某个文件,按yy,然后到目的文件夹,按p。要移动文件,将yy换成dd就可以了。直接重命名,则按cw。另外,删除文件并不是直接删除,而是移到$HOME/.vifm/Trash中,所以不小心删错了,还可以找回来。比较常用的命令有:
j,k |
上下移动 |
h,l |
在父/子目录之间移动 |
d |
删除文件 |
y |
粘贴文件 |
Enter,Tab |
在两个panel之间切换 |
/ |
查找文件 |
m[a-zA-Z0-9] |
标记文件 |
'[a-zA-Z0-9] |
移到标记所在文件 |
zo |
显示隐藏文件 |
zm |
不显示隐藏文件 |
:fil regex |
隐藏匹配regex的文件 |
zO |
显示被:fil命令过滤的文件 |
zM |
隐藏被:fil命令过滤的文件 |
!prog |
执行系统命令, %f可以用来当前选中文件名 |
vifm可以定义文件打开默认打开方式,这些都在$HOME/.vifm/vifmrc中配置。定义图片及pdf文件的默认打开方式:
FILETYPE=Images=jpg,jpeg,gif,png,bmp=feh
FILETYPE=Pdf=pdf=exo-open
上面定义了用feh来打开图片,exo-open来打开pdf,exo-open是xubuntu中带的一个程序,它会检查文件类型,然后用系统默认关联应用程序打开,在我的系统中exo-open会实际调用evince来打开pdf。ubuntu可以用gnome-open来替换exo-open。
vifm没有创建目录的命令,你可以自己创建一个,在vifmrc中定义:
COMMAND=mkdir=mkdir -p %a
其中%a是一个特殊值,表示输入的参数,类似的%f表示当前选中的文件, %F表示在另一个面板中选中的文件,%d表示当前目录,%D表示另一个面板的当前目录。这样,:mkdir foobar就会创建foobar目录。还可以创建cp, mv命令用于将一个面板中选中的文件复制/移动到另一个面板中去。
COMMAND=cp=cp -r %f %D
COMMAND=mv=mv -r %f %D
vifm缺少自定义快捷键的功能,这就导致vifm的可定制性并不很强。我很不喜欢vifm的h,l定义成在父子目录之间切换,要是我,就会将它定义成在两个panel切换。或许这只是习惯的不同,从另一方面讲,也可以说是它的灵性性不够高。还好用得并不算多,所以也就不计较了。