如何将其他文本编辑器的主要功能添加到Vim

如果您和很多人一样,就知道Vim是您打开的用来调整配置文件的编辑器,然后您将无法退出。另一方面,如果您经常使用Vim,您会知道其模式编辑功能的功能。如果您运行Linux或任何其他Unix风格,则Vim值得学习。

也就是说,Vim很容易显示其年龄。默认情况下,它缺少许多现代文本编辑器所依赖的功能。也就是说,安装一些软件包,Vim可以使用Visual Studio Code,Sublime Text等来拥有自己的功能。

插件管理:Vim-Plug

现代的一项主要功能文本编辑器可以通过插件扩展它们。尽管Vim在8.0版中添加了本机软件包管理,但与第三方软件包管理器相比,许多人觉得它麻烦。最受欢迎的软件包管理器之一是Vim-Plug。

在开始使用Vim-Plug之前,您需要先安装它。在Linux或macOS等Unix系统上,在终端上运行以下命令以下载并安装vim-plug。

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

如果在Windows中使用Vim,则可以通过粘贴以下内容来安装Vim-Plug

md ~\vimfiles\autoload$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'(New-Object Net.WebClient).DownloadFile( $uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath( "~\vimfiles\autoload\plug.vim" ))

现在,您可以通过将插件添加到〜/ .vimrc 文件中来安装插件。您需要在文件中添加两行:

call plug#begin('~/.vim/plugged')
call plug#end()

要安装插件,请添加 Plug ,然后添加其GitHub URL中位于 http之后的部分://www.github.com 用单引号引起来。例如,要安装Solarized配色方案,您的配置文件将包含以下内容:

call plug#begin('~/.vim/plugged')Plug 'altercation/vim-colors-solarized'call plug#end()

有关如何安装软件包管理器的更多信息,请参见Vim-Plug GitHub页面。

许多依赖的另一个功能是您选择的编辑器,它告诉您所编写的代码何时无效。这通常被称为“ lint"。它不会阻止您编写不会运行的代码,但是会捕获您可能没有注意到的基本语法错误。

顾名思义, Syntastic是Vim的语法检查插件。实际上,对于许多种语言,它本身并没有做很多事情。相反,您需要为您选择的一种或多种语言安装一个linter或语法检查器。然后Syntastic会将检查器集成到Vim中,每次保存文件时都会检查您的代码。

Syntastic supports more languages than we can list here, so it’s highly likely that the language you’re using is supported. For instructions on how to configure the plugin, see the Syntastic GitHub page.

代码完成:YouCompleteMe

语法检查很不错,但是如果您来自Visual Studio代码或功能类似的编辑器,您可能会遗漏其他内容。这是代码竞赛,在Visual Studio世界中也称为Intellisense。如果您不仅仅使用vim来编辑配置文件,那么这将使您的生活更加轻松。

代码完成功能会在您键入时弹出建议,从而使编写代码变得更加轻松。如果您使用的是深度嵌套的方法,那么这很好,因此您不必记住整个字符串。

YouCompleteMe是Vim的代码完成引擎,它是功能更强大的工具之一您可以安装的插件。与其他插件相比,安装还有些棘手。您可以使用像Vim-Plug这样的软件包管理器来安装基础知识,但是您需要对其进行编译。

最简单的编译插件的方法是使用随附的 install.py 脚本。要在macOS或Linux上执行此操作,请输入以下内容:

cd ~/.vim/bundle/YouCompleteMe./install.py --clang-completer

请注意,在Linux上,必须先安装开发工具,CMake和必需的标头,然后才能编译YouCompleteMe。

有关在其他系统上安装和编译YouCompleteMe的说明,或了解更多信息,请参见YouCompleteMe GitHub页面。

模糊搜索:CtrlP

如果您正在处理项目对于许多不同的文件,Vim的打开文件方法可能会让您感到沮丧。 :e 命令具有基本的自动完成功能,但是您仍然需要知道文件的位置。您可以直接从命令行找到它,但是如果可以从Vim正确地执行此操作,会更好吗?

幸运的是,您可以。 CtrlP插件可以搜索文件,但是它还可以执行更多操作。 CtrlP GitHub页面将其描述为“ Vim的全路径模糊文件,缓冲区,mru,标签,…finder"。该插件类似于Sublime Text的“ Goto Anything"命令,令人惊讶的是,其键盘快捷键为 Ctrl + P Command + P

此功能或等效功能可以在大多数现代文本编辑器中找到,如果您发现自己缺少它,那就是

文件浏览:NERDTree

您可能更喜欢传统的文件浏览类型。如果您错过了在许多编辑器中找到的文件的左侧面板显示,则很高兴知道它在Vim中可用。这要归功于NERDTree插件。

与Sublime Text,Visual Studio Code等中的左侧菜单不同,NERDTree是一个完整的文件系统浏览器。您不仅可以显示项目目录,还可以在计算机上的任何位置进行导航。如果您要处理多个项目中的文件,这可能是非常方便的功能。

要在Vim中打开NERDTree,只需使用:NERDTree < / code>命令。如果您希望将其绑定到命令,则可以使用〜/ .vimrc 选项执行以下操作:

map <C-n> :NERDTreeToggle<CR>

让您只需按Ctrl + N即可打开和关闭NERDTree面板。

Git集成:fugitive.vim

Git集成已成为现代文本编辑器中的必备功能,因此,很高兴知道它在Vim中也可用。 GitHub项目页面将fugitive.vim描述为“一个很棒的Git包装器,应该是非法的。"

运行:GStatus 会带来一些变化类似于您在 git status 命令中看到的内容。如果您已完成对文件的工作并准备提交,请运行:GCommit%。这样一来,您就可以在当前正在运行的Vim窗口中编辑提交消息。

此处列出的命令太多,而且您可以通过运行:Git 。有关更多信息(包括屏幕录像),请参见fugitive.vim GitHub页面。

您是否正在寻找更多Vim技巧?

以上技巧将有助于使Vim现代化,但它们您只能根据自己的喜好自定义编辑器,这是远远没有的。正如您在阅读本文时可能已经猜到的那样,Vim是一个非常可调整的编辑器。

如果您准备好了更多,请查看我们的Vim定制列表,以使其变得更好。

标签: 编程 文本编辑器 Vim