1. Linux vi/vim
  2. 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
  3. 但是目前我们使用比较多的是 vim 编辑器。
  4. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
  1. 什么是 vim
  2. Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
  3. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
  4. vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

  1. vi/vim 的使用
  2. 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
  3. 命令模式:
  4. 用户刚刚启动 vi/vim,便进入了命令模式。
  5. 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
  6. 以下是常用的几个命令:
  7. i 切换到输入模式,以输入字符。
  8. x 删除当前光标所在处的字符。
  9. : 切换到底线命令模式,以在最底一行输入命令。
  10. 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
  11. 命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
  12. 输入模式
  13. 在命令模式下按下i就进入了输入模式。
  14. 在输入模式中,可以使用以下按键:
  15. 字符按键以及Shift组合,输入字符
  16. ENTER,回车键,换行
  17. BACK SPACE,退格键,删除光标前一个字符
  18. DEL,删除键,删除光标后一个字符
  19. 方向键,在文本中移动光标
  20. HOME/END,移动光标到行首/行尾
  21. Page Up/Page Down,上/下翻页
  22. Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  23. ESC,退出输入模式,切换到命令模式
  24. 底线命令模式
  25. 在命令模式下按下:(英文冒号)就进入了底线命令模式。
  26. 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
  27. 在底线命令模式中,基本的命令有(已经省略了冒号):
  28. q 退出程序
  29. w 保存文件
  30. ESC键可随时退出底线命令模式。
  31. 简单的说,我们可以将这三个模式想成底下的图标来表示:

  1. vi/vim 使用实例
  2. 使用 vi/vim 进入一般模式
  3. 如果你想要使用 vi 来建立一个名为 runoob.txt 的文件时,你可以这样做:
  4. $ vim runoob.txt
  5. 直接输入 vi 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

  1. 按下 i 进入输入模式(也称为编辑模式),开始编辑文字
  2. 在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!
  3. 在编辑模式当中,你可以发现在左下角状态栏中会出现 INSERT- 的字样,那就是可以输入任意字符的提示。
  4. 这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

  1. 按下 ESC 按钮回到一般模式
  2. 好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?就是给他按下 Esc 这个按钮,你就会发现画面左下角的 INSERT 不见了
  3. 在一般模式中按下 :wq 储存后离开 vi
  4. 存档存盘并离开的指令很简单,输入 :wq 即可保存离开!

  1. 这样就成功创建了一个 runoob.txt 的文件。
  1. vi/vim 按键说明
  2. 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
  3. 第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等

吴裕雄--天生自然Linux操作系统:Linux vi/vim的更多相关文章

  1. 吴裕雄--天生自然Numpy库学习笔记:NumPy Matplotlib

    Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython. W ...

  2. 吴裕雄--天生自然HADOOP学习笔记:Shell工具使用

    实验目的 学习使用xshell工具连接Linux服务器 在连上的服务器中进入用户目录 熟悉简单的文件操作命令 实验原理 熟悉shell命令是熟悉使用linux环境进行开发的第一步,我们在linux的交 ...

  3. 吴裕雄--天生自然ShellX学习笔记:Shell简介

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...

  4. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

  5. 吴裕雄--天生自然Linux操作系统:Linux 用户和用户组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  6. 吴裕雄--天生自然Linux操作系统:Linux 磁盘管理

    Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区 ...

  7. 吴裕雄--天生自然Linux操作系统:Linux 系统启动过程

    linux启动时我们会看到许多启动信息. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 . 用户登录系统. in ...

  8. 吴裕雄--天生自然Linux操作系统:Linux 简介

    Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 PO ...

  9. 吴裕雄--天生自然Linux操作系统:Linux 文件与目录管理

    Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/ ...

随机推荐

  1. Python 中使用 ddt 来进行数据驱动,批量执行用例,修改ddt代码

    1. 什么是数据驱动? 使用数据驱动有什么好处? 用例执行是靠数据来驱动的,每条测试用例除了测试数据不一样意外,所有的用例代码都是一样的,为了使用例批量执行,我们会使用数据驱动的思想来批量执行测试用例 ...

  2. 六十四、SAP中的内表的9种定义方式

    一.内表一共有9种定义方式,如下: 二.执行如下 *&--------------------------------------------------------------------- ...

  3. APIO 2010 特别行动队 斜率优化DP

    Description 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号,要将他们拆分 成若干特别行动队调入战场.出于默契的考虑,同一支特别行动队中队员的编号 应该连续,即为形如 (i ...

  4. Essay写作观点的打造

    很多留学生在Essay写作过程中经常出现的问题就是缺乏对于已有知识的新的理解,只是单纯在做文献综述(literature review)而已.要怎么样才能够体现自己的理解和自己的观点,便是今天我们讲解 ...

  5. 实验吧-杂项-flag.xls(notepad++查找)、保险箱(linux文件分解、密码破解)

    flag.xls 下载文件,用notepad++打开,查找flag就能找到flag. 保险箱(linux文件分解.密码破解) 将图片保存下来,用kali的binwalk分析,发现有rar文件,然后用f ...

  6. 设置虚拟机静态ip

    1.查看本机ip.网关.dns服务器 IPv4地址:本机局域网ip 路由器:网关地址 nameserver:局域网内部dns服务器 其他dns服务器 移动.电信和联通:114.114.114.114 ...

  7. 16 协程和www

    1.一个应用程序一般对应一个进程,一个进程一般有一个主线程,还有若干个辅助线程,线程之间是平行运行的,在线程里面可以开启协程,让程序在特定的时间内运行.2协程和线程的区别是:协程避免了无意义的调度,由 ...

  8. P 1025 链表反转

    转跳点:

  9. UVA - 10954 Add All (全部相加)(Huffman编码 + 优先队列)

    题意:有n(n <= 5000)个数的集合S,每次可以从S中删除两个数,然后把它们的和放回集合,直到剩下一个数.每次操作的开销等于删除的两个数之和,求最小总开销.所有数均小于10^5. 分析:按 ...

  10. Kubernetes-基于helm安装部署高可用的Redis及其形态探索(二)

    上一章,我们通过实践和其他文章的帮助,在k8s的环境安装了redis-ha,并且对其进行了一些实验来验证他的主从切换是否有效.本篇中将会分析,究竟是如何实现了redis-ha的主从切换,以及其与K8S ...