Linux养成计划(四)

Vim编辑器

Linux系统会内建 vi 文本编辑器,Vim具有程序编程的能力,可以看作是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计、补充代码、编译及错误跳转等方便编程的功能丰富,被使用者广泛使用。

vi / vim三种模式

正常模式

正常模式下我们可以使用快捷键,用vim打开一个档案就直接进入一般模式,也就是默认模式。此模式你可以使用上下左右按键来移动光标;使用删除字符或删除整行来处理档案内容。同样可以使用复制、粘贴来处理文件数据。

编辑模式

按需 i,I,o,O,a,A,r,R等任何一个字母进入编辑模式,常使用 i 键。

命令行模式

命令行模式中提供相关的指令,用来完成读取、存储、替换、离开、显示行号等等。

起步

1. 打开Xshell,键入 vim jujidi.java 命令

2. 进入下方默认模式,无法输入

3. 键入 i 进入编辑模式,可编辑。

4. 我们写一个类

5. 编辑完毕,输入ESC,退出编辑模式,进入命令模式

6. 键入 :wq 保存退出

7. 出现了 jujidi.java 文件

模式切换

命令解释

命令模式下也就是编辑模式按下esc后有3个常用的用来保存或者退出的命令:

  • :q!直接退出,不保存。
  • :q 只是打开看看不做任何修改时使用此命令, 如果修改了想要退出会提示没有保存,必须加上 强制执行。
  • :wq 打开后做了修改,而且想要保存使用此命令。

实操

复制粘贴

  • yy 拷贝当前行
  • 5yy 拷贝当前行向下的5行
  • p 粘贴

1. 创建文件 web.java

2. 按下 i 进入编辑模式输入 3 行语句

3. 按下esc进入命令行模式

4. 光标移到最后一行,按下 yy 再按下 p 命令后就会复制一行

5. 光标移到此处,输入 4yy 复制4行

6. 光标移动此处按下 p 把刚刚的4行进行粘贴

删除

  • dd 删除当前行
  • 5dd 删除当前行向下的5行(命令模式下执行)

查找

在文件中查找某个单词:进入命令行模式,/关键字 回车即可。输入 n 查找匹配的下一个。

比如:/hello 查找文件中hello字段,按下n会一个个的查找。

行号

  • 命名 :set nu 显示行号
  • 命令:set nonu 取消显示行号(命令行模式下执行)

首末行

  • 默认模式下,输入G命令会跳的末尾
  • 输入gg回到首行

撤销

  • 在默认模式下,输入u命令

移动指定行

  1. 显示行号 :set nu ,命令行模式下执行
  2. 输入 目标行号
  3. 输入 shift + g

总结

关于vim的命令还有很多,我们只是入门讲解,关于Vim编辑器的相关命令可以移步:www.cnblogs.com/yangjig/p/6014198.html,此处不再罗列出来。

参考:Google;韩顺平教程;CSDN博客

原文发布于微信公众号 - Web项目聚集地(web_resource)

原文发表时间:2018-08-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

如何创建一个新浪微博应用以及获得Access token

打开网页http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5

17340
来自专栏IMWeb前端团队

Nodejs进阶:Express常用中间件body-parser实现解析

写在前面 body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析。使用非常简单,以下两行代码已经覆盖了大部分的使用场景...

318100
来自专栏小樱的经验随笔

【干货分享】dos命令大全

一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入...

33690
来自专栏我的博客

Mysql的控制台导入、导出

今天在往数据库里面导入.sql文件时,发现大的文件根本没办法直接导入的。通过百度,在网上找到了两种解决办法,现在和大家分享一下吧! 第一种: 一,修改PHPMy...

30550
来自专栏大数据杂谈

Windows下python2和3共存问题

在学习python的过程中,有人推荐2,也有人推荐3。但是,不管选择了哪一个版本,总是想着是否能2个版本同时安装并兼容使用呢? 真的可以吗? 答案是肯定的,完全...

22790
来自专栏狂码一生

linux系统挂载磁盘、卸载磁盘、磁盘分区

一、挂载磁盘     1.查看磁盘列表、查看是否有硬盘未被挂载:     >fdisk -l ?     可以看到/dev/sdb硬盘没有被挂载。     2....

1.8K90
来自专栏技术碎碎念

Http请求与响应

Http协议对浏览器发出的Request格式以及对Web服务器发出的Response格式有具体的规定。 请求部分由三部分组成: Requset line:请求...

28960
来自专栏沈唁志

Linux学习中常用操作命令

24750
来自专栏青青天空树

初识mfc

  今天主要了解了Visual C++的开发环境Visual Studio(话说以前都是用来调试控制台程序的)和用mfc写了一个最简单的程序。

13930
来自专栏挖坑填坑

Angular中environments的神奇之处

例如: 比如environment.prod.ts对应的就是prod环境,你有多少个环境这里就新建多少个文件。(当然没有的就是默认的运行环境)

18820

扫码关注云+社区

领取腾讯云代金券