Linux(六)vi和vim编辑器的使用

6.1 vi和vim的基本介绍

所有的Linux系统都会内建vi文本编辑器。

vim具有程序编辑能力,可以看做是vi的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完,编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

6.2 vi和vim常用的三种模式

  • 正常模式:

以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制,粘贴】来处理你的文件数据。

  • 插入模式:

按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可。

  • 命令行模式:

在这个模式当中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等的动作则是在此模式中达成的!

三种模式相互转化图

6.3 vi和vim的基本使用

1、查看当前目录下的内容,然后输入vim hello.java

2、进入到正常模式,不能输入任何内容,只有进入到插入模式才行,按i

3、输入内容,然后按ESC退出插入模式

4、输入:或者/进入命令模式,:wq写入退出

5、说明文件已经保存成功

6、:q没有改过内容就单纯退出,改过了就不能使用了,只能:q!强制退出,不对该文件作修改

6.3 vi和vim快捷键

1、拷贝当前行【yy】,拷贝当前行向下3行【3yy】,粘贴【p】。

2、删除当前行dd,删除当前行向下的5行【5dd】。

3、在文件中查找某个单词【命令行下/关键字,回车查找,输入n就是查找下一个】。

4、设置文件的行号,取消文件的行号。【命令行下:set nu和:set nonu】

5、到文档的最末行【G】和最首行【gg】。

6、撤销上一个动作【u】。

7、将光标移动到20行【20+shift+g】,不过要先设置行号。

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2018-04-17

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏飞雪无情的博客

Go语言实战笔记(二)| Go开发工具

在Go语言中,我们很多操作都是通过go命令进行的,比如我们要执行go文件的编译,就需要使用go build命令,除了build命令之外,还有很多常用的命令,这一...

1033
来自专栏编程心路

SSH框架之旅-struts2(4)

AOP 是 Aspect Objected Prograing(面向切面编程)的缩写。struts2 中的拦截器就是这种编程策略的一种实现,AOP 思想是在基本...

1363
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十四):用户密码找回

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

3051
来自专栏QQ音乐前端团队专栏

web模拟终端博客系统

前段时间做了一个非常有意思的模拟终端的展示页.这个页面非常有意思,它可以作为个人博客系统或者给 Linux 初学者学习终端命令,现分享给大家~

9607
来自专栏北京马哥教育

看了还想看—普通权限及umask

权限在操作系统是尤为重要的,无论是windows和linux中,都少不了权限这么一说,权限的大小决定了你能操作些什么,在linux中,权限对目录和文件的意义是不...

3787
来自专栏计算机编程

ionic4 -- angular 跳转页面

ionic4 与前辈们最大的不同就是通过angular引入了route,这样每次跳转的时候只需要直接跳转对应的路由地址就可以了,给了路由器上的解耦,也解决了原来...

9602
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

前言   前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子   上传功能命名用formidabl...

2519
来自专栏游戏杂谈

Linux下使用rsync同步文件

遇到的问题是几台游戏服务器,有一台新的服务器之前已经copy(Linux的scp命令)过文件上去,但在测试的过程中发现还是图片无法正常不显示出来,然后用http...

3402
来自专栏coder修行路

jS正则和WEB框架Django的入门

JS正则 -test 判断字符串是否符合规定的正则表达式 -exec 获取匹配的数据 test的例子: ? 从上述的例子我们可以看出,如果rep.test匹配到...

2106
来自专栏LEo的网络日志

go获取windows的hostid

3215

扫码关注云+社区

领取腾讯云代金券