【 Linux 】Vim学习指南

举报
李锐博恩 发表于 2021/07/15 06:34:16 2021/07/15
【摘要】 本文转载自:Vim学习指南 你想尽可能快地自学vim(为大家所熟知的最好的编辑器) 。这是我学习的方法:从细处入手然后慢慢掌握所有技巧。 Vim 六十亿美元的编辑器 设计优良,强壮,快速。 学习vim并把它作为你的下一个文本编辑器,据我所知没有比它更好的编辑器,学起来难但出奇的好用。 我建议你按下附4个步骤学习Vim: 适应感觉舒适感觉很好,强壮,快速使...

本文转载自:Vim学习指南

你想尽可能快地自学vim(为大家所熟知的最好的编辑器) 。这是我学习的方法:从细处入手然后慢慢掌握所有技巧。

Vim 六十亿美元的编辑器

设计优良,强壮,快速。

学习vim并把它作为你的下一个文本编辑器,据我所知没有比它更好的编辑器,学起来难但出奇的好用。

我建议你按下附4个步骤学习Vim:

  1. 适应
  2. 感觉舒适
  3. 感觉很好,强壮,快速
  4. 使用vim的高级技能

本课程结束时你将成为一个vim高手。

但在我们开始之前,先提醒一下。刚开始学习vim会有点痛苦,它很费时间,有点像玩乐器一样。不要指望能像其他编辑器一样花3天以内的时间便能很好的使用它,事实上,这肯定要花2周而不是3天。

推荐阅读:

第一层次 – 适应

  1. 安装vim
  2. 运行vim
  3. 什么也别做,读!

在标准的编辑器里,写一些东西到屏幕上只需要在键盘上输入就足够了,在Vim中不是这样。Vim在普通模式里,让我们转到插入模式,键入字符i。

你应该感觉好一点了,能像在标准编辑器里输入了,回到普通模式只需按ESC键即可。

你现在知道了如何在插入和普通模式之间转换,下面是你在普通模式下需要记住的指令:

  • i→ 插入模式. 按ESC键返回普通模式
  • x→ 删除光标所在的字符
  • :wq→ 保存退出(:w 保存,:q 退出)
  • dd→ 删除(拷贝)当前行
  • p→ 粘贴

推荐:

  • hjkl(高度推荐) → 基本的光标移动 (←↓↑→), hj按行移动。
  • :help <command>→ 显示关于<command>的帮助,可以使用help不带<command>获得常规帮助。

只有5个命令,一开始只需掌握这些,当适应了这些命令后(大概需要一天或更多的诗句),你可以转到第二层级了。

但首先,稍回顾一下普通模式。在标准编辑器里,要复制的话你需要使用ctrl键(Ctrl-c)。实际上,当你按下ctrl键时所有的按键的意义都改变了。在vim普通模式下就像在ctrl键自动按下的情况下使用编辑器。

最后的补充:

  • 我使用<C-λ>代替Ctrl-λ
  • 命令后附带回车,比如我若是写:q,我是指:q<enter>

第二层 - 爽一把

你知道,命令是由需求所定。是时候学习更多命令了。下面这些是我的建议:

  1. 插入模式变种命令:

    • a→ 在光标后插入
    • o→ 在当前行之后插入新行
    • O→ 在当前行之前插入新行
    • cw→ 替换从光标到单词结束
  2. 基本移动命令

    • 0→ 跳到第一列
    • ^→ 跳到本行第一个非空字符
    • $→ 跳到本行末尾
    • g_→ 跳到本行最后一个非空字符
    • /pattern→ 搜索pattern
  3. 复制/粘贴

    • P→ 在当前位置之前粘贴,记住 p 是在当前位置之前粘贴.
    • yy→ 复制当前行,与dd和P命令相比更简单。
  4. 取消/恢复

    • u→ 取消
    • <C-r>→ 恢复
  5. 加载/保存/退出/修改 文件(缓存)

    • :e <文件路径>→ 打开
    • :w→ 保存
    • :saveas <文件路径>→ 保存到这个文件
    • :x,ZZ或者:wq→ 保存和退出 (:x 如果可能的话,只保存)
    • :q!→ 退出但不保存,使用:qa!,即使在缓存中还有已经修改的也会退出。
    • :bn(对比:bp) → 显示下一个(上一个)文件缓存

花些时间学习所有这些命令。一旦完成后,你应该就能完成在像在其它编辑器中所有事情。也许,你可能还会觉得有点笨手笨脚。但是跟着我进入下一个层次,你就会发现为什么vim值得你额外付出的努力。

第三层次——更好,更强,更快

为达到这一步表示祝贺!现在我们可以开始这有趣的东西。在第三层次,我们将只讨论命令,它兼容旧的vi编辑器。

更好

让我们看看vim是怎么帮你做重复事情的。

1. .→(点)可以重复最后一个命令,

2. N<命令>会重复命令N次。

一些例子,打开一个文件然后写入下面内容:

• 2dd→ will delete 2 lines • 3p→ will paste the text 3 times • 100idesu [ESC]→ will write “desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu” •.→ Just after the last command will write again the 100 “desu”. •3.→ Will write 3 “desu” (and not 300, how clever).

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/82817143

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。