vifm:为铁杆 Vim 爱好者提供的终端文件浏览器
创始人
2024-03-02 09:01:38
0

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

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

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

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

是的,你也可以在终端中找到文件管理器。它们可能不如 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

sudo apt install vifm

使用 pacman 软件包管理器基于 Arch 的 Linux 发行版上安装 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 上有最新的默认绑定键的速查表,在 这里。这个项目的文档非常好。

vifm 默认按键绑定

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

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


via: https://itsfoss.com/vifm-terminal-file-manger/

作者:Pratham Patel 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

等了30年,微软MS-DO...
曾经称“开源是毒瘤”时有多么嫌弃,现在“微软 ❤️ 开源”就有多么...
2025-06-26 09:11:25
Vim编辑器使用
什么是vim?Vim 是从 vi 发展出来的一个文本编辑器。代码补...
2025-05-31 19:54:52
不知道如何在OS X上在V...
在OS X上,在Vim终端之间复制可以使用Vim的剪贴板功能。以下...
2025-01-12 07:30:30
不支持对函数进行vsvim...
在VSCode中,VSCodeVim插件默认不支持对函数进行调用。...
2025-01-11 22:00:40
不移动光标,VIM 删除外...
在Vim中,可以使用以下命令删除外部/内部标签:删除外部标签:da...
2025-01-11 06:01:18
不要在vim中的逃逸时候向...
要在Vim中逃逸时向后退缩,而不使用映射,可以使用以下代码示例中的...
2025-01-11 04:31:25

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...