编辑器之神Vim的使用

薄洪涛7年前Linux1321

在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神。今天我们来学习下编辑器之神Vim的使用;

想当年我开始学习Vim的时候,最抓狂的事情莫过于怎么退出vim;以致最后强制关机...

1. 什么是Vim

Vim编辑器与linux的关系就如同在windows下有notepad(记事本)。在linux下vim的功能十分强大。

 

2. Vim的三种模式

命令模式:打开文件之后的模式就是命令模式

末行模式:命令模式下,输入英文冒号,进入末行模式,按esc回到命令模式

编辑模式:命令模式下,输入字母i,进入编辑模式,光标可以移动更改文件内容,按esc回到命令模式

 

3. Vim的常用命令

打开文件                      vim 文件名

打开文件                      vim +文件行数 文件名,打开并移动光标到文件的指定行数

打开文件高亮某字符     vim +/字符 文件名

注:打开文件后编辑器中输入英文冒号,进入末行模式,下面大部分操作在末行模式下进行

关闭文件                  输入:q,回车退出,不保存文件

强制关闭                  输入:q!,不保存

关闭并强制保存        输入:wq,回车退出,强制保存写入,并更新文件修改时间

关闭并强制保存        输入:x,当有文件被修改时保存,没修改时退出

另存为                     输入:w 文件名

显示行号                  输入:set nu,显示行号(临时)

取消高亮                  输入:noh

查找          输入/需要查找的字符,并高亮显示找到的字符,按下n向后切换,N向前切换

替换          输入:s/需要替换的字符/替换成的字符,只替换当前光标所在行的第一处

替换          输入:s/需要替换的字符/替换成的字符/g,替换光标所在行所有位置

全局替换    输入:%s/需要替换的字符/替换成的字符/g,替换文件所有可以换的地方

 

4. Vim的快捷键

光标移动

①将光标快速移动到文档的末行的开始,可以按下键盘G键(大写)。

②将光标快速移动到文档的首行的开始,可以按下键盘gg键(按2次小写的g键)。

③将光标快速移动到指定的行数开始,可以按下【数字键G】,例如定位到5行的开始,则按下5G。

④将光标以当前行为准,快速的向上或者向下移动指定的行数,可以按下【数字↑/↓】。

删除

①删除光标所在的行,可以按下键盘上的dd键(小写的d按2次),并且下一行会上移

②删除多行,可以以光标所在的行向下删除指定的行,则可以按下【数字dd】,并且下面的行也会上移。

③删除光标所在的行,但是删除完成之后当前行留空,可以按下D键(D字母大写)。

补充:在vim的命令模式中,删除命令其实本质是剪切操作,在粘贴的时候会被粘贴出来。

复制 & 粘贴

①复制光标所在的行,可以按下yy。

②复制光标所在行之后的指定行数(包括当前行),可以按下【数字yy】。

在vim中粘贴,可以按下键盘上的p键,将会以当前为准,在当前行下一行,粘贴出剪切板上的内容。

撤销

在vim中,按下键盘上的 u键,可以撤销上一步操作(类似于 ctrl + z)。

在vim中,按下ctrl + r,可以恢复你刚才撤销的操作(类似于ctrl + y)。

 

上面就是Vim的常用操作了,其他的操作还请大家自行探索


标签: vim

相关文章

centos上为php安装扩展

今天做了一个查询心跳数据的功能,相关的数据放在redis里面,我才用了yii框架链接redis的时候,线上服务器报Class yii\redis\Connection does not exist造成...

Nginx解决跨域问题

不解释,做个记录location / {     add_header Access-Control-Allow-Origin&n...

centos放开防火墙443端口

查看是否开启443 firewall-cmd --zone=public --query-port=443/tcp开启firewall-cmd --zone=p...

Centos7 下开机自启

我在虚拟机上搭建了一套nginx+php,然后每次开机的时候,都要去手动去运行让服务起来,这我可忍不了了,毕竟我可是懒癌晚期废话少说,我们直接设置开机启动1.在系统目录创建服务文件(不要问为什么,li...

前后端分离如何实现用户身份认证及鉴权?

前后端分离如何实现用户身份认证及鉴权?

假设我们不适用前后端分离,那么登录成功之后,我们会把用户的信息存储到session中,之后的每一次请求,都会带着cookies中的session_id,服务端会自行验证此用户是否登录及登录是否失效,那...

mac下使用docker来构建不同版本的php环境并安装扩展

切换到mac后,我目前php环境是php7.3 ,但是一些老项目需要7.1 甚至5.6 的环境,特别是服务器上也有这种问题,所以我决定使用docker来部署不同的项目首先安装dockerbrew&nb...

评论列表

YanLan
2018-10-22 13:49:14

很有用

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。