如何在终端中使用 vim?

Posted

技术标签:

【中文标题】如何在终端中使用 vim?【英文标题】:How to use vim in the terminal? 【发布时间】:2011-08-11 11:12:50 【问题描述】:

如何在 OS X 的终端中设置和开始使用 vim?

我想开始在终端中使用 vim 而不是单独的文本编辑器来编写我的 C 代码。如何开始?

基础知识如:使用 vim 通过终端打开、创建、保存文件以及使用 vim 编写代码。还有,终端直接用vim编译吗?

【问题讨论】:

我怀疑你可以用 vim 编译。 Vim 是编辑器而不是编译器。 但他仍然可以从 vim 调用 外部 编译器,例如 :!gcc -o main main.c,无论如何重要的是他需要外部编译器因为 vim 只是一个文本编辑器。 这是一个很棒的叙事教程vi-improved.org/tutorial.html 您也可以使用 Vim 的内置终端进行编译(v8.1 中的最新功能) 【参考方案1】:

快速入门

您只需在终端中输入vim 即可打开它并创建一个新文件。

您可以将文件名作为选项传递,它将打开该文件,例如vim main.c。您可以通过传递多个文件参数来打开多个文件。

Vim 有不同的模式,与您可能使用的大多数编辑器不同。您从 NORMAL 模式开始,一旦您熟悉了 vim,您将在此花费大部分时间。

要在更改为其他模式后返回NORMAL 模式,请按Esc。将 Caps Lock 键映射到 Esc 是个好主意,因为它更近,没有人真正使用 Caps Lock 键。

第一个尝试的模式是INSERT 模式,输入 a 表示 追加到光标后,或 i 表示 在光标前插入

要进入VISUAL 模式,您可以在其中选择文本,请使用v。此模式还有许多其他变体,随着您对 vim 的深入了解,您会发现这些变体。

要保存您的文件,请确保您处于NORMAL 模式,然后输入命令:w。当您按下: 时,您将看到您的命令出现在底部状态栏中。要保存并退出,请使用:x。要退出而不保存,请使用:q。如果您做出了想要放弃的更改,请使用:q!

根据自己的喜好配置 vim

你可以编辑你的~/.vimrc 文件来配置你喜欢的vim。最好先看几个 (here's mine),然后再决定哪些选项适合您的风格。

这是我的样子:

要获取左侧的文件资源管理器,请使用NERDTree。对于状态栏,使用vim-airline。最后,配色方案是solarized。

进一步学习

您可以使用man vim 在终端内获得一些帮助。或者,运行 vimtutor,这是一个很好的动手起点。

在您学习 vim 时,最好打印出 Vim Cheatsheet 并将其放在您面前。

祝你好运!

【讨论】:

备忘单链接已关闭。 还有this很好的备忘单。 @LieuweRooijakkers 干杯,我将更新我的链接到那个。【参考方案2】:

从终端运行vim。对于基础知识,建议您运行命令vimtutor

# On your terminal command line:
$ vim

如果您有要编辑的特定文件,请将其作为参数传递。

$ vim yourfile.cpp

同样,启动教程

$ vimtutor

【讨论】:

好的,那么它的所有功能在哪里? @EatonEmmerich 嗯,除了 GUI 工具栏,您还缺少哪些功能? 例如:运行:terminal。 OS X 版本的功能相当缺乏。 这不是这个问题的目的。这是关于在终端中运行 Vim(按照它的设计),而不是在桌面 GUI 周围的窗口中运行 gvim。 @EatonEmmerich 哦,你说的是:terminal,这是neovim 的一个功能。这不在基本 Vim 中,这是本问题的主题。【参考方案3】:

您可以明确地 Vim 构建您的代码,这就是:make 命令的作用。

但是,您需要首先了解基础知识:在终端中输入 vimtutor 并按照说明进行操作。

完成几次后,打开一个现有的(不重要的)文本文件并尝试从vimtutor 学到的所有东西:进入/离开插入模式、撤消更改、退出/保存、拉/放置、移动等。

有一段时间,您在使用 Vim 时根本不会有效率,并且可能会想回到您以前的 IDE/编辑器。这样做,但每天都跟上 Vim 一点点。你可能会被非常奇怪和意想不到的事情阻止,但这种情况会越来越少。

几个月后,您会发现自己在任何地方的每个文本字段中都无时无刻不在点击ovi

玩得开心!

【讨论】:

【参考方案4】:

如果您想用一个命令打开所有.cpp 文件,并将窗口拆分为与打开的文件一样多的图块,您可以使用:

vim -o $(find name ".cpp")

如果你想在你所在的地方包含一个模板,你可以使用:

:r ~/myHeaderTemplate 

将在开始命令之前将文件“myHeaderTemplate”导入光标所在的位置。

您可以反过来选择一些代码并将其保存到文件中

    视觉选择, 添加 w ~/myPartialfile.txt

当你选择visualy时,在输入“:”后输入命令,你会看到“:”后面出现“'”

'<,'>w ~/myfile $

^ 如果您在命令中添加“~/myfile”,则文件的选定部分将保存到 myfile。

如果您正在编辑文件并想复制它:

:saveas newFileWithNewName 

【讨论】:

以上是关于如何在终端中使用 vim?的主要内容,如果未能解决你的问题,请参考以下文章

Vim中如何移动光标

如何复制vim编辑器中的内容粘贴到另一个终端的编辑器里

如何复制vim编辑器中的内容粘贴到另一个终端的编辑器里

从零开始配置 vim(18)——终端模式

从零开始配置 vim(18)——终端模式

如何使用vim编写python