vim入门
我记得我第一次遇到Vim。 我是一名大学生,计算机科学系实验室的计算机已安装Ubuntu Linux。 尽管我上大学前就已经接触过各种Linux版本(例如RHEL)(红帽以百思买的价格出售了它的CD),但这是我第一次需要定期使用Linux操作系统,因为我的课程要求我这样做。 一开始像在我之前和之后的许多其他人一样开始使用Linux,我就开始感觉自己像一个“真正的程序员”。
学生可以使用默认情况下安装在实验室计算机上的图形文本编辑器,如Kate 。 对于可以使用外壳但不习惯基于控制台的编辑器的学生,最受欢迎的选择是Nano ,它提供了很好的交互式菜单,并且提供了类似于Windows图形文本编辑器的体验。
有时我使用了Nano,但是我听说了有关Vi / Vim和Emacs的很棒的事情,并且真的想尝试一下(主要是因为它们看起来很酷,而且我也很想知道它们的优点)。 第一次使用Vim吓到我了-我不想弄乱任何东西! 但是,一旦掌握了这一点,事情就变得简单多了,我将欣赏到编辑器的强大功能。 至于Emacs,我有点放弃了,但我很高兴自己坚持使用Vim。
在本文中,我将充分介绍Vim(根据我的个人经验),以便您可以在Linux系统上以它作为编辑器。 这既不会使您成为专家,也不会使Vim的许多强大功能浮出水面。 但是起点总是很重要,我想让起点体验尽可能简单,您可以自己探索其余的东西。
步骤0:打开控制台窗口
进入Vim之前,您需要做一些准备。 从Linux操作系统打开控制台终端。 (由于Vim在MacOS上也可用,因此Mac用户也可以使用这些说明。)
终端窗口打开后,键入ls命令以列出当前目录。 然后,键入mkdir Tutorial创建一个名为Tutorial的新目录。 输入cd Tutorial进入目录。
就是准备了。 现在是时候进行有趣的部分了-开始使用Vim。
步骤1:创建并关闭Vim文件而不保存
还记得我说过一开始害怕使用Vim吗? 好吧,令人恐惧的部分在想:“如果我更改现有文件并将其弄乱了怎么办?” 毕竟,几次计算机科学作业都要求我通过修改现有文件来进行处理。 我想知道: 如何在不保存更改的情况下打开和关闭文件?
好消息是您可以使用同一命令在Vim中创建或打开文件: vim <FILE_NAME >,其中<FILE_NAME>代表您要创建或修改的目标文件名。 让我们通过输入vim HelloWorld.java创建一个名为HelloWorld.java的文件。
你好,Vim! 现在,这是Vim中一个非常重要的概念,可能是要记住的最重要的概念:Vim具有多种模式。 这是您需要了解的三个Vim基础知识:
模式 | 描述 |
---|---|
Normal | 默认; 用于导航和简单编辑 |
Insert | 用于显式插入和修改文本 |
Command Line | 用于保存,退出等操作。 |
Vim还有其他模式,例如Visual,Select和Ex-Mode,但是Normal,Insert和Command Line模式对我们来说已经足够了。
您现在处于正常模式。 如果有文字,则可以使用箭头键或其他导航键(稍后将看到)四处移动。 要确保您处于“普通”模式,只需按Esc (退出)键。
提示: Esc切换到普通模式。 即使您已经处于“普通”模式,也只是为了练习而按Esc键 。
现在,这将很有趣。 按 :(冒号)后跟q! (即:q! )。 您的屏幕将如下所示:
在正常模式下按冒号会将Vim切换到命令行模式,然后:q! 命令不保存就退出Vim编辑器。 换句话说,您正在放弃所有更改。 您也可以使用ZQ ; 选择哪个更方便。
按下Enter键后 ,您将不再处于Vim中。 重复练习几次,以掌握其窍门。 完成此操作后,请转到下一部分,以了解如何对该文件进行更改。
步骤2:在Vim中进行并保存修改
通过输入vim HelloWorld.java并按Enter键重新打开文件。 插入模式是您可以更改文件的位置。 首先, 按Esc以确保您处于“普通”模式,然后按i进入“插入”模式。 (是的,这是字母i 。)
在左下角,您应该看到-INSERT- 。 这意味着您处于插入模式。
输入一些Java代码。 您可以键入所需的任何内容,但是这里有一个示例可供您遵循。 您的屏幕将如下所示:
很漂亮! 请注意如何用Java语法突出显示颜色突出显示文本。 因为您是用Java启动文件的,所以Vim会检测语法颜色。
保存文件。 按Esc键离开插入模式,然后进入命令行模式。 输入: ,然后跟x! (即,冒号后跟x和!)。 点击Enter保存文件。 您也可以键入wq来执行相同的操作。
现在您知道了如何使用插入模式输入文本,以及如何使用:x保存文件! 或:wq 。
步骤3:在Vim中进行基本导航
虽然您始终可以使用友好的向上,向下,向左和向右箭头按钮在文件中四处移动,但是在几乎无数行的大文件中这将非常困难。 能够在一行内跳转也很有帮助。 尽管Vim具有很多很棒的导航功能,但我想向您展示的第一个功能是如何转到特定行。
按Esc键以确保您处于“普通”模式,然后键入:set number并按Enter 。
瞧! 您会在每行的左侧看到行号。
好的,您可能会说,“很酷,但是我该如何跳到一行?” 同样,请确保您处于“普通”模式,然后按:<LINE_NUMBER> ,其中< LINE_NUMBER>是您要转到的行号,然后按Enter 。 尝试移至第2行。
:2
现在移至第3行。
但是,设想一种情况,您正在处理一个1,000行长的文件,并且您想转到文件的末尾。 你怎么到那的? 确保您处于正常模式,然后输入:$并按Enter 。
您将在最后一行!
现在,您已经知道如何在行之间跳转,作为奖励,让我们学习如何移至行末。 确保您所在的行上有一些文本,例如第3行,然后键入$ 。
您现在位于该行的最后一个字符。 在此示例中,突出显示的大括号显示了光标移动到的位置,突出显示了大括号的闭合括号,因为它是大括号的匹配字符。
Vim中的基本导航就是这样。 等待,但是不要退出文件。 让我们进入Vim中的基本编辑。 不过,您可以随意喝杯咖啡或茶。
步骤4:在Vim中进行基本编辑
现在,您知道如何通过跳到所需的行来浏览文件,可以使用该技能在Vim中进行一些基本编辑。 切换到插入模式。 (还记得通过按i键来做到这一点吗?)当然,您可以使用键盘进行编辑以删除或插入字符,但是Vim提供了更快的方法来编辑文件。
移至第3行,其中显示public static void main(String [] args){ 。 连续两次快速按d键。 是的,那是dd 。 如果成功完成,您将看到一个类似这样的屏幕,第3行消失了,随后的每一行都向上移动了一个(即第4行变成了第3行)。
那是删除命令。 不要害怕 点击u ,您将看到已删除的行已恢复。 ew。 这是撤消命令。
下一课是学习如何复制和粘贴文本,但是首先,您需要学习如何在Vim中突出显示文本。 按v并移动您的左右箭头按钮以选择和取消选择文本。 当您向他人显示代码并希望识别他们希望看到的代码时,此功能也非常有用。
移至第4行,其内容为System.out.println(“ Hello,Opensource”); 。 突出显示第4行的所有内容。 确定,当第4行仍突出显示时,按y 。 这称为“ 抽动”模式,它将文本复制到剪贴板。 接下来,通过输入o在下面创建新行。 请注意,这将使您进入插入模式。 按Esc键退出“插入”模式,然后按p代表粘贴 。 这会将复制的文本从第3行粘贴到第4行。
作为练习,重复这些步骤,但还要修改新创建的行上的文本。 另外,请确保线条对齐正确。
提示:您需要在插入模式和命令行模式之间来回切换才能完成此任务。
完成后,用x保存文件! 命令。 这就是Vim中基本编辑的全部内容。
步骤5:在Vim中进行基本搜索
想象一下,您的团队负责人希望您更改项目中的文本字符串。 您如何快速做到这一点? 您可能要使用某个关键字搜索该行。
Vim的搜索功能可能非常有用。 通过(1)按Esc键,然后(2)按冒号进入命令行模式: 键。 我们可以通过输入: / <SEARCH_KEYWORD>来搜索关键字,其中<SEARCH_KEYWORD>是您要查找的文本字符串。 在这里,我们正在搜索关键字字符串“ Hello”。 在下图中,冒号是缺少的,但是必需的。
但是,一个关键字可以出现多次,而这可能不是您想要的。 那么,您如何浏览以查找下一个匹配项? 您只需按n键,它代表next 。 执行此操作时,请确保您未处于“插入”模式!
奖励步骤:在Vim中使用拆分模式
几乎涵盖了所有Vim基础知识。 但是,作为奖励,我想向您展示一个很酷的Vim功能,称为split mode 。
退出HelloWorld.java并创建一个新文件。 在终端窗口中,输入vim GoodBye.java并点击Enter创建一个名为GoodBye.java的新文件。
输入您想要的任何文本; 我决定输入“再见”。 保存文件。 (请记住,您可以在命令行模式下使用:x!或:wq 。)
在命令行模式下,输入:split HelloWorld.java ,然后看看会发生什么。
哇! 看那个! split命令使用上面的HelloWorld.java和下面的GoodBye.java创建了水平划分的窗口。 如何在两个窗口之间切换? 按住Control键 (在Mac上)或CTRL键 (在PC上),然后按ww (即连续两次w )。
作为最后的练习,尝试通过从HelloWorld.java复制和粘贴来编辑GoodBye.java以匹配下面的屏幕。
保存两个文件,您就完成了!
提示1:如果要垂直排列文件,请使用命令:vsplit <FILE_NAME> (而不是:split <FILE_NAME> ,其中<FILE_NAME>是要在拆分模式下打开的文件的名称。
提示2:您可以通过调用任意多个额外的split或vsplit命令来打开两个以上的文件。 试试看,看看它的外观。
Vim备忘单
在本文中,您学习了如何充分利用Vim来完成工作或项目。 但这仅仅是您释放Vim强大功能的旅程的开始。 请务必在Opensource.com上查看其他出色的教程和技巧。
为了使事情变得容易一些,我将您学到的所有内容汇总到了方便的备忘单中 。
翻译自: https://opensource.com/article/19/3/getting-started-vim
vim入门