vifm:为铁杆 Vim 爱好者提供的终端文件浏览器

系统 浏览器
让我们探索一个基于终端的文件浏览器,可以使用 Vim 风格的键绑定。

[[436088]]

让我们探索一个基于终端的文件浏览器,可以使用 Vim 风格的键绑定。

当在命令行中浏览 Linux 目录结构 时,人们经常依赖 cd 命令

这也没什么不好,因为你登录到任何一个 Linux 系统上都有 cd 命令。

然而,如果系统是由你维护的,你想更直观地看到目录,那么文件管理器比 cd 或 tree 命令要好得多。

是的,你也可以在终端中找到文件管理器。它们可能不如 Nautilus 这样的图形界面应用,但仍然比普通的老命令好。

有几个 TUI 文件浏览器,我们已经介绍了其中的几个。今天,我们来看看 vifm

vifm 简介

 

vifm 是一个命令行工具,它是一个文件管理器,导航和操作文件系统对象的键绑定与 Vim 类似。如果你不清楚我所说的“文件系统对象”是什么意思,它们是文件、目录、符号链接、硬链接等。

除了非常直观的 Vim 交互键绑定外,下面是 vifm 为你提供的一系列功能:

  • 一个就在你的终端中的快速文件管理器
  • 从文件管理器内编辑文本文件
  • vifm 使用 curses 界面
  • vifm 是跨平台的(在 Cygwin 的帮助下甚至可以在 Windows 上工作;它应该可以,但我没有测试过)
  • 支持 Vim 风格的键绑定输入,如 ddjkhl 等
  • vifm 插件 可以在 Vim 中使用,这样就可以通过 Vim 打开文件
  • 支持 Vim 命令的自动补完
  • 支持多个面板
  • 可以使用 [或不使用] 正则表达式进行批量重命名

在 Linux 上安装 vifm

vifm 软件包并不算新,因此在默认情况下,即使是“稳定”发行版(如 Debian)的软件库中也很容易找到它。

在 Debian 和基于 Debian 的发行版(如 Ubuntu、Pop!_OS、Mint 等)之上,你可以 使用 apt 软件包管理器 来安装 vifm

  1. sudo apt install vifm

使用 pacman 软件包管理器 在 基于 Arch 的 Linux 发行版上安装 vifm

  1. sudo pacman -S vifm

vifm 在 Fedora 和 RHEL 仓库中也有;用 DNF 软件包管理器安装它:

  1. sudo dnf install vifm

安装好了 vifm,你可以简单地在终端输入 vifm,像下面这样,然后启动它:

  1. vifm

vifm 的用户界面

当你第一次启动 vifm 时,默认情况下,它启动时显示你当前所在的目录的概览。你还会注意到,vifm 默认使用两个窗格。

 

默认的 vifm 界面,包括一个正常的视图(隐藏的文件不可见)和两个默认打开的窗格

如果你对界面感到困惑,只需尝试按 j 键将光标向下移动一行,按 k 键将光标向上移动一行。你可以通过按 h 键向上移动一级目录。就像 Vim 中一样!

如果你的光标目前在一个文件上,按 l 键将在 Vim 中打开该文件(如果没有另外说明的话)。但如果你的光标在一个目录上,按 l 键将导航到该目录并显示其内容。

你也可以通过按 Ctrl + g 键绑定,从文件管理器中获得关于文件或目录的详细信息。

 

键绑定如何显示目录/文件信息的屏幕截图

你可以按 za 键来显示被隐藏的文件和目录(开头有 . 的文件和目录默认是隐藏的)。如果这些特殊的文件和目录没有被隐藏,按 za 键将会隐藏它们。

你可以用 zo 键绑定一直显示隐藏的文件和目录,或用 zm 键绑定使这些项目一直不可见。

 

举例说明,当你按下 键绑定时的情况

总结

由于它是基于 Vim 的,你可以用 vifmrc 文件来配置它。在 vifm wiki 上有最新的默认绑定键的速查表,在 这里。这个项目的文档非常好。

 

vifm 默认按键绑定

vifm 是一个了不起的文件管理器,特别是对于 Vim 用户来说,因为它与 Vim 生态系统整合得非常好。它将许多 Vim 的功能和按键绑定整合到一个文件管理器中。默认的双窗格布局使其更具生产力。

不要犹豫,尝试一下 vifm。它真的是一个了不起的命令行工具。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2021-01-10 15:31:05

Mac终端Linux

2020-01-02 11:45:46

VimHerbstluftw应用

2014-02-13 10:15:39

编程业余爱好

2011-05-30 13:58:56

PHP

2017-03-23 15:17:20

Linuxsudo棋盘

2018-06-12 07:38:05

Linux 开源

2019-08-09 10:15:14

机器学习人工智能监督学习

2021-01-12 10:50:48

人工智能Instagramer科技

2010-06-18 09:00:54

2009-02-27 09:59:07

LinuxFedora 10爱好者

2009-11-02 11:25:40

LinuxUbuntu 9.10操作系统

2013-12-26 10:32:30

编程学习

2011-04-07 10:42:11

编辑器云计算

2011-01-05 09:36:19

VirtualBSD

2011-08-29 17:56:18

Paper Camer拍照应用

2010-05-11 10:08:00

2014-04-01 09:48:09

Linux高清壁纸

2011-05-11 09:42:27

程序员

2012-04-01 15:14:52

2021-10-14 10:45:35

物联网设备技术
点赞
收藏

51CTO技术栈公众号