vim入门_Vim入门:基础知识

vim入门

我记得我第一次遇到Vim。 我是一名大学生,计算机科学系实验室的计算机已安装Ubuntu Linux。 尽管我上大学前就已经接触过各种Linux版本(例如RHEL)(红帽以百思买的价格出售了它的CD),但这是我第一次需要定期使用Linux操作系统,因为我的课程要求我这样做。 一开始像在我之前和之后的许多其他人一样开始使用Linux,我就开始感觉自己像一个“真正的程序员”。

Real Programmers comic

真正的程序员,由xkcd

学生可以使用默认情况下安装在实验室计算机上的图形文本编辑器,如Kate 。 对于可以使用外壳但不习惯基于控制台的编辑器的学生,最受欢迎的选择是Nano ,它提供了很好的交互式菜单,并且提供了类似于Windows图形文本编辑器的体验。

有时我使用了Nano,但是我听说了有关Vi / VimEmacs的很棒的事情,并且真的想尝试一下(主要是因为它们看起来很酷,而且我也很想知道它们的优点)。 第一次使用Vim吓到我了-我不想弄乱任何东西! 但是,一旦掌握了这一点,事情就变得简单多了,我将欣赏到编辑器的强大功能。 至于Emacs,我有点放弃了,但我很高兴自己坚持使用Vim。

在本文中,我将充分介绍Vim(根据我的个人经验),以便您可以在Linux系统上以它作为编辑器。 这既不会使您成为专家,也不会使Vim的许多强大功能浮出水面。 但是起点总是很重要,我想让起点体验尽可能简单,您可以自己探索其余的东西。

步骤0:打开控制台窗口

进入Vim之前,您需要做一些准备。 从Linux操作系统打开控制台终端。 (由于Vim在MacOS上也可用,因此Mac用户也可以使用这些说明。)

终端窗口打开后,键入ls命令以列出当前目录。 然后,键入mkdir Tutorial创建一个名为Tutorial的新目录。 输入cd Tutorial进入目录。

Create a folder

就是准备了。 现在是时候进行有趣的部分了-开始使用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! )。 您的屏幕将如下所示:

Editing Vim

在正常模式下按冒号会将Vim切换到命令行模式,然后:q! 命令不保存就退出Vim编辑器。 换句话说,您正在放弃所有更改。 您也可以使用ZQ ; 选择哪个更方便。

按下Enter键后 ,您将不再处于Vim中。 重复练习几次,以掌握其窍门。 完成此操作后,请转到下一部分,以了解如何对该文件进行更改。

步骤2:在Vim中进行并保存修改

通过输入vim HelloWorld.java并按Enter键重新打开文件。 插入模式是您可以更改文件的位置。 首先, 按Esc以确保您处于“普通”模式,然后按i进入“插入”模式。 (是的,这是字母i 。)

在左下角,您应该看到-INSERT- 。 这意味着您处于插入模式。

Vim insert mode

输入一些Java代码。 您可以键入所需的任何内容,但是这里有一个示例可供您遵循。 您的屏幕将如下所示:


   
   
public class HelloWorld {
    public static void main ( String [ ] args ) {
    }
}

很漂亮! 请注意如何用Java语法突出显示颜色突出显示文本。 因为您是用Java启动文件的,所以Vim会检测语法颜色。

保存文件。 按Esc键离开插入模式,然后进入命令行模式。 输入 ,然后跟x! (即,冒号后跟x和!)。 点击Enter保存文件。 您也可以键入wq来执行相同的操作。

现在您知道了如何使用插入模式输入文本,以及如何使用:x保存文件:wq

步骤3:在Vim中进行基本导航

虽然您始终可以使用友好的向上,向下,向左和向右箭头按钮在文件中四处移动,但是在几乎无数行的大文件中这将非常困难。 能够在一行内跳转也很有帮助。 尽管Vim具有很多很棒的导航功能,但我想向您展示的第一个功能是如何转到特定行。

Esc键以确保您处于“普通”模式,然后键入:set number并按Enter

瞧! 您会在每行的左侧看到行号。

Showing Line Numbers

好的,您可能会说,“很酷,但是我该如何跳到一行?” 同样,请确保您处于“普通”模式,然后按:<LINE_NUMBER> ,其中< LINE_NUMBER>是您要转到的行号,然后按Enter 。 尝试移至第2行。

 :2 

现在移至第3行。

Jump to line 3

但是,设想一种情况,您正在处理一个1,000行长的文件,并且您想转到文件的末尾。 你怎么到那的? 确保您处于正常模式,然后输入:$并按Enter

您将在最后一行!

现在,您已经知道如何在行之间跳转,作为奖励,让我们学习如何移至行末。 确保您所在的行上有一些文本,例如第3行,然后键入$

Go to the last character

您现在位于该行的最后一个字符。 在此示例中,突出显示的大括号显示了光标移动到的位置,突出显示了大括号的闭合括号,因为它是大括号的匹配字符。

Vim中的基本导航就是这样。 等待,但是不要退出文件。 让我们进入Vim中的基本编辑。 不过,您可以随意喝杯咖啡或茶。

步骤4:在Vim中进行基本编辑

现在,您知道如何通过跳到所需的行来浏览文件,可以使用该技能在Vim中进行一些基本编辑。 切换到插入模式。 (还记得通过按i键来做到这一点吗?)当然,您可以使用键盘进行编辑以删除或插入字符,但是Vim提供了更快的方法来编辑文件。

移至第3行,其中显示public static void main(String [] args){ 。 连续两次快速按d键。 是的,那是dd 。 如果成功完成,您将看到一个类似这样的屏幕,第3行消失了,随后的每一行都向上移动了一个(即第4行变成了第3行)。

Deleting A Line

那是删除命令。 不要害怕 点击u ,您将看到已删除的行已恢复。 ew。 这是撤消命令。

Undoing a change in Vim

下一课是学习如何复制和粘贴文本,但是首先,您需要学习如何在Vim中突出显示文本。 按v并移动您的左右箭头按钮以选择和取消选择文本。 当您向他人显示代码并希望识别他们希望看到的代码时,此功能也非常有用。

Highlighting text in Vim

移至第4行,其内容为System.out.println(“ H​​ello,Opensource”); 。 突出显示第4行的所有内容。 确定,当第4行仍突出显示时,按y 。 这称为“ 抽动”模式,它将文本复制到剪贴板。 接下来,通过输入o在下面创建新行。 请注意,这将使您进入插入模式。 按Esc键退出“插入”模式,然后按p代表粘贴 。 这会将复制的文本从第3行粘贴到第4行。

Pasting in Vim

作为练习,重复这些步骤,但还要修改新创建的行上的文本。 另外,请确保线条对齐正确。

提示:您需要在插入模式和命令行模式之间来回切换才能完成此任务。

完成后,用x保存文件 命令。 这就是Vim中基本编辑的全部内容。

步骤5:在Vim中进行基本搜索

想象一下,您的团队负责人希望您更改项目中的文本字符串。 您如何快速做到这一点? 您可能要使用某个关键字搜索该行。

Vim的搜索功能可能非常有用。 通过(1)按Esc键,然后(2)按冒号进入命令行模式 键。 我们可以通过输入: / <SEARCH_KEYWORD>来搜索关键字,其中<SEARCH_KEYWORD>是您要查找的文本字符串。 在这里,我们正在搜索关键字字符串“ Hello”。 在下图中,冒号是缺少的,但是必需的。

Searching in Vim

但是,一个关键字可以出现多次,而这可能不是您想要的。 那么,您如何浏览以查找下一个匹配项? 您只需按n键,它代表next 。 执行此操作时,请确保您未处于“插入”模式!

奖励步骤:在Vim中使用拆分模式

几乎涵盖了所有Vim基础知识。 但是,作为奖励,我想向您展示一个很酷的Vim功能,称为split mode

退出HelloWorld.java并创建一个新文件。 在终端窗口中,输入vim GoodBye.java并点击Enter创建一个名为GoodBye.java的新文件。

输入您想要的任何文本; 我决定输入“再见”。 保存文件。 (请记住,您可以在命令行模式下使用:x!:wq 。)

在命令行模式下,输入:split HelloWorld.java ,然后看看会发生什么。

Split mode in Vim

哇! 看那个! split命令使用上面的HelloWorld.java和下面的GoodBye.java创建了水平划分的窗口。 如何在两个窗口之间切换? 按住Control键 (在Mac上)或CTRL键 (在PC上),然后按ww (即连续两次w )。

作为最后的练习,尝试通过从HelloWorld.java复制和粘贴来编辑GoodBye.java以匹配下面的屏幕。

Modify GoodBye.java file in Split Mode

保存两个文件,您就完成了!

提示1:如果要垂直排列文件,请使用命令:vsplit <FILE_NAME> (而不是:split <FILE_NAME> ,其中<FILE_NAME>是要在拆分模式下打开的文件的名称。

提示2:您可以通过调用任意多个额外的splitvsplit命令来打开两个以上的文件。 试试看,看看它的外观。

Vim备忘单

在本文中,您学习了如何充分利用Vim来完成工作或项目。 但这仅仅是您释放Vim强大功能的旅程的开始。 请务必在Opensource.com上查看其他出色的教程和技巧。

为了使事情变得容易一些,我将您学到的所有内容汇总到了方便的备忘单中

翻译自: https://opensource.com/article/19/3/getting-started-vim

vim入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值