让我们探索一个基于终端的文件浏览器, 可以使用 VIM 风格的键绑定.
当在命令行中浏览 Linux 目录结构 时, 人们经常依赖 cd 命令 https://linuxhandbook.com/cd-command-examples/ .
这也没什么不好, 因为你登录到任何一个 Linux 系统上都有 cd 命令.
然而, 如果系统是由你维护的, 你想更直观地看到目录, 那么文件管理器比 cd 或 tree 命令要好得多.
是的, 你也可以在终端中找到文件管理器. 它们可能不如 Nautilus 这样的图形界面应用, 但仍然比普通的老命令好.
有几个 TUI https://itsfoss.com/gui-cli-tui/ 文件浏览器, 我们已经介绍了其中的几个. 今天, 我们来看看 vifm.
vifm 简介
https://github.com/vifm/vifm 是一个命令行工具, 它是一个文件管理器, 导航和操作文件系统对象的键绑定与 VIM 类似. 如果你不清楚我所说的 "文件系统对象" 是什么意思, 它们是文件, 目录, 符号链接, 硬链接等.
除了非常直观的 VIM 交互键绑定外, 下面是 vifm 为你提供的一系列功能:
一个就在你的终端中的快速文件管理器
从文件管理器内编辑文本文件
vifm 使用 curses 界面
vifm 是跨平台的(在 Cygwin 的帮助下甚至可以在 Windows 上工作; 它应该可以, 但我没有测试过)
支持 VIM 风格的键绑定输入, 如 dd,j,k,h,l 等
vifm 插件 https://github.com/vifm/vifm.vim 可以在 VIM 中使用, 这样就可以通过 VIM 打开文件
支持 VIM 命令的自动补完
支持多个面板
可以使用 [或不使用] 正则表达式进行批量重命名
在 Linux 上安装 vifm
vifm 软件包并不算新, 因此在默认情况下, 即使是 "稳定" 发行版 (如 Debian) 的软件库中也很容易找到它.
在 Debian 和基于 Debian 的发行版 (如 Ubuntu,Pop!_OS,Mint 等) 之上, 你可以 使用 apt 软件包管理器 https://itsfoss.com/apt-command-guide/ 来安装 vifm:
sudo apt install vifm
使用 pacman 软件包管理器 https://itsfoss.com/pacman-command/ 在 基于 Arch 的 Linux 发行版 https://itsfoss.com/arch-based-linux-distros/ 上安装 vifm:
sudo pacman -S vifm
vifm 在 Fedora 和 RHEL 仓库中也有; 用 DNF 软件包管理器安装它:
sudo dnf install vifm
安装好了 vifm, 你可以简单地在终端输入 vifm, 像下面这样, 然后启动它:
vifm
vifm 的用户界面
当你第一次启动 vifm 时, 默认情况下, 它启动时显示你当前所在的目录的概览. 你还会注意到, vifm 默认使用两个窗格.
默认的 vifm 界面, 包括一个正常的视图 (隐藏的文件不可见) 和两个默认打开的窗格
如果你对界面感到困惑, 只需尝试按 j 键将光标向下移动一行, 按 k 键将光标向上移动一行. 你可以通过按 h 键向上移动一级目录. 就像 VIM 中一样!
如果你的光标目前在一个文件上, 按 l 键将在 VIM 中打开该文件(如果没有另外说明的话). 但如果你的光标在一个目录上, 按 l 键将导航到该目录并显示其内容.
你也可以通过按 Ctrl + g 键绑定, 从文件管理器中获得关于文件或目录的详细信息.
键绑定如何显示目录 / 文件信息的屏幕截图
你可以按 za 键来显示被隐藏的文件和目录(开头有 . 的文件和目录默认是隐藏的). 如果这些特殊的文件和目录没有被隐藏, 按 za 键将会隐藏它们.
你可以用 zo 键绑定一直显示隐藏的文件和目录, 或用 zm 键绑定使这些项目一直不可见.
举例说明, 当你按下 键绑定时的情况
总结
由于它是基于 VIM 的, 你可以用 vifmrc 文件来配置它. 在 vifm wiki https://wiki.vifm.info/index.php/Main_Page 上有最新的默认绑定键的速查表, 在 这里 https://vifm.info/cheatsheets.shtml . 这个项目的文档非常好.
vifm 默认按键绑定
vifm 是一个了不起的文件管理器, 特别是对于 VIM 用户来说, 因为它与 VIM 生态系统整合得非常好. 它将许多 VIM 的功能和按键绑定整合到一个文件管理器中. 默认的双窗格布局使其更具生产力.
不要犹豫, 尝试一下 vifm. 它真的是一个了不起的命令行工具.
来源: http://os.51cto.com/art/202111/691935.htm