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切换。或许这只是习惯的不同,从另一方面讲,也可以说是它的灵性性不够高。还好用得并不算多,所以也就不计较了。