Vim – 它的朋友们

Vim – 它的朋友们

Vim 是一个非常受欢迎的文本编辑器,其快捷键和可扩展性都是其优秀的特点。但是,Vim 并不是一个可以独立完成所有工作的编辑器,它需要“朋友”的帮助。在这篇文章中,我们将了解一些 Vim “朋友”的细节,这些工具将使我们更加高效地使用 Vim。

先来回复一下 Vi 和 Vim 之间的区别。Vi 是 Unix 和类 Unix 操作系统上的一款文本编辑器,Vim 是 Vi 的增强版。Vim 支持诸如语法高亮、代码折叠、UniCode、补全等高级功能,并且它的快捷键和可扩展性比 Vi 更加优秀。然而,本文并不致力于介绍 Vim,而是介绍一些 Vim “朋友”的细节。让我们开始吧。

Tmux – 终端复用器

Tmux 是一个终端复用器,能够让用户在一个终端管理多个会话,并在这些会话之间轻松地切换。为什么要使用 tmux 呢?想象一下,你在终端中阅读文档,但你需要在不同的终端中编写代码、启动服务器等,这时候 tmux 就派上用场了。tmux 可以让你在一个终端中同时操作多个终端,在这些终端之间快速切换,从而使你的生产力大大提高。

下面是一些 tmux 的基本命令:

$ tmux            # 启动 tmux(如果未安装,请从仓库中获取)
$ tmux new -s name      # 创建名为 name 的新会话
$ tmux ls         # 列出所有会话
$ tmux attach -t name    # 附加到名为 name 的会话
$ tmux switch -t name    # 切换到名为 name 的会话

在 Vim 中使用 tmux,你可能会使用 tmux 窗口更改 Vim 窗口大小,启动编译器、服务器等。通过学习了解 tmux 使用方法,你将会有更好的 Vim 使用体验。

如果您是 MacOS 用户,可以通过 Homebrew 安装 tmux:

$ brew install tmux

Zsh – 更好的 shell

Zsh 是一个非常强大的 shell,它具有很多比 Bash 更加强大的功能。其中包括自动补全、实时路径示例、简便的历史操作、通配符扩展等等。另外,Zsh 支持插件和主题,并且可以定制 Zsh 中的大部分元素。如果你想改善你的终端体验,那么你要好好学习一下 zsh 了。

当你将 Zsh 配置为默认 shell 后,使用它和 Bash 完全一样。

Zsh 的安装使用这些命令:

Ubuntu / Debian:

$ sudo apt-get install zsh

MacOS:

$ brew install zsh

Fzf – 模糊查找

Fzf 是一个快速杂糅的命令行启动器,它可以帮助你快速查找任何你想要的内容。你可以使用 Fzf 来快速打开任何文件、目录、清单等,它支持模糊匹配、排除和多种窗口模式。你甚至可以在 Vim 内部使用 Fzf,以便快速查找文件。Fzf 对于开发人员来说是一个很好用的工具。

下面是一些 Fzf 的基本命令:

$ fzf path/to/folder     # 在目录中模糊搜索文件
$ cat */* | fzf        # 根据文件内容模糊搜索
$ history | fzf         # 模糊搜索历史命令
$ vim $(fzf)         # 在 Vim 中模糊查找文件

要安装 Fzf,请使用这些命令:

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ ~/.fzf/install

Ctags – 代码导航

Ctags 是一个高效的代码导航工具,它可以在代码中跟踪函数、类、变量等。对 Ctags 的使用不仅限于 Vim,很多编辑器都支持使用 Ctags 进行代码导航。在 Vim 中,你可以使用 Ctags 来跟踪函数、类、变量等。

下面是一些 Ctags 的基本命令:

$ ctags filename       # 为 filename 文件生成 tags
$ vim -t function_name    # 跨文件跳转到 function_name 函数
$ :tn           # 跳到下一个标记
$ :tp           # 跳到上一个标记

要在 Ubuntu / Debian 上安装 Ctags,请使用以下命令:

$ sudo apt-get install exuberant-ctags

Ripgrep – 更快的搜索

Ripgrep 是一款非常快的代码搜索工具。它独特的算法可以让它比其余的代码搜索工具更加快速。你是否在 Vim 中搜索过含有一万行或更多的文件?如果是这样,那么使用 Ripgrep 可以大大提升搜索速度。

Ripgrep 支持大约一百多种文件格式,包括 CC++JavaPython、Ruby、Go、TOML、YAML 和 JSON 等。你可以通过学习 Ripgrep 的使用方法,更加高效的搜索。

下面是一些 Ripgrep 的基本命令:

$ rg {regex} path/to/folder    # 在文件中搜索 regex
$ rg -t py {regex} path/to/folder  # 仅搜索 Python 文件
$ rg --files-with-matches {regex} path/to/folder  # 显示包含匹配的文件
$ rg --no-line-number {regex} path/to/folder  # 只显示文件和匹配的行

在 Ubuntu / Debian 上安装 Ripgrep,你需要用以下命令:

$ sudo apt-get install ripgrep

Ack – 更优秀的代码搜索

Ack 是一个比 grep 更好的代码搜索工具,它可以快速搜索文件并显示关键行。它还支持通过配置文件定制搜索选项。在 Vim 中使用 Ack,你可以快速搜索代码。

下面是一些 Ack 的基本命令:

$ ack {regex} path/to/folder     # 在文件中搜索 regex
$ ack --type=python {regex} path/to/folder   # 仅在 Python 文件中搜索
$ ack -il {string} path/to/folder     # 只显示包含匹配的文件名称

要安装 Ack,请使用以下命令:

$ sudo apt-get install ack-grep

Conclusion

本文中,我们介绍了一些 Vim 的好朋友,它们可以使你更加高效地使用 Vim。其中,tmux 是一个终端复用器,可以让你在多个终端之间快速切换。Zsh 是一款比 Bash 更加强大的 shell。Fzf 和 Ripgrep 都是快速的搜索工具,让你在代码库中搜索效率更高。Ctags 和 Ack 则针对代码导航和代码搜索进行了优化。通过学习这些工具,你可以使 Vim 增强你的生产力,使你的工作更能专注于项目的核心。
当然,这些工具只是许多 Vim “朋友”中的一部分。通过探索 Vim 社区和相关文档,你可以发现许多其他有用的工具,从而提高你的 Vim 经验。无论你是 Vim 的新手还是经验丰富的用户,都应该研究一些 Vim “朋友”,以充分利用这个强大的文本编辑器。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程