vim编辑器常用操作及快捷键

春节期间,肺炎疫情非常严重,也不能出门,总结点东西吧。

一、vim操作

1.1 常用的编辑操作

1.1.1移动光标:

                  1使用方向键 上下左右

                  2 快捷键   上K下J左H右L

1.1.2复制粘贴操作

复制/粘贴单行文本:

在根目录下创建一个test目录,在test目录下使用vim创建并打开123.txt文件

20200131161303138.png

打开默认是导航模式,按i键进入编辑模式,随便输入内容,然后按esc退出到导航模式

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

复制单行内容,例如要复制hello world,则将光标定位到hello world那一行的任意位置,然后按下yy(两次y键)进行复制,然后再按下p键,即可在原hello world那一行的下一行粘贴一行hello world

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

如果要复制多行内容,例如要复制123和hello world,则将光标定位到123那一行,按下shift+v,即可处于选中状态,然后使用上下键进行往上或往下选择,因为这里要复制 123和hello world,所以使用方向键下键,往下选择一行,此时即选中了两行(即123和hello world)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

然后按y键复制,然后将光标移动到hello world那一行,按p键粘贴 ,即在原来的hello world那一行的下边粘贴123和hello world

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

注意:复制粘贴操作都是在导航模式下进行操作,在文档操作完成后,输入:(冒号进入命令模式,冒号后输入相关命令),即输入‘:wq’,保存并退出。

如果要把一个文档的部分内容复制到另外一个文件中:

Shift+v多选,然后y复制,:q退出当前文件,打开新文件 p粘贴。

1.1.3 删除操作

在导航模式下按下X键删除光标后一位字符,类似delete键功能,在编辑模式下,按backspace键回退删除光标前一个字符。

如果要删除单行文本,则在导航模式下光标定位到要删除的那一行 ,按下dd键即可,若要删除多行,则按多次dd键

1.1.4 误操作撤销与重做

误操作之后,后悔了,则在导航模式下按u键(undo),如果要重做则ctrl+r键(redo)

1.1.5 自动补全操作

在编辑文件时,输入部分字母,可以给出补全提示

此时在test目录下创建一个xiaomifeng1010.properties

输入一些内容:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

已经编辑了两行内容,接下来如果再增加一行配置xiaomifeng1010.password

则只需输入x,然后按下ctrl+n,则会弹出补全提示

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70 然后按上下键来选择匹配哪一个。

当然这里测试用的文本也可以从本地计算机上传一个文件(毕竟在linux里边编辑文本会相对麻烦),比如提前在本地计算机已经准备好了一个演示文件xiaomifeng1010.properties.

此时上传问价到服务器,需要先安装一个上传工具lrzsz:

输入命令  yum -y install lrzsz,安装工具

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

安装成功后,输入rz

会弹出选择文件的窗口:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70 然后选择xiaomnifeng1010.properties上传即可(还支持拖拽上传文件我是用的是SecureCRT,直接将文件拖拽到SecureCRT的窗口,按照提示即可完成上传)。

注意这个lrzsz工具其实挺好记的,rz是上传功能,从windows本地上传文件到linux服务器,而sz则是从linux服务器下载文件到windows本地。

例如现在要下载xiaomifeng1010.properties到本地,则命令为sz /test/xiaomifeng1010.properties

则会将xiaomifeng1010.properties文件下载到window系统的下载目录(默认下载位置)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

传输完成,显示100%,查看windows系统目录

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

1.2 定位操作

1.2.1 显示和隐藏行号

在导航模式下,输入冒号进入命令模式,输入':set nu'命令显示行号,输':set nu!'隐藏行号

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70 要隐藏行号,则':set nu!'

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

1.2.2 定位到下一行

在导航模式下,按O键进入编辑模式并将光标定位到下一行,shift+O则是定位到光标的上一行,并插入一行空白行

1.2.3 快速定位到文件的开头和结尾

定位到开头,在导航模式下,按两下G键,定位到结尾,Shift+G

1.2.4 快读定位到某一行

在导航模式下,输入冒号进入命令模式,然后输入对应的行号

例如,定位到第二行

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

1.3 查找和替换操作

1.3.1 查找文件中的关键字

在导航模式下,输入'/关键字';

先上传一个工作中用的一个文件 jdbc-oracle.properties,然后查看配置文件中数据库连接的密码,则在导航模式下输入'/password'

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

就为定位到第一个password的位置,如果要查看下一个password的位置,则按n键

1.3.2 批量替换(无需确认)

命令模式 :%s/旧内容/新内容/g

例如,刚才的文件,我要把gpump全部替换成xiaomifeng1010

操作为':%s/gpump/xiaomifeng1010/g ',会全部替换掉gpump而无需确认

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70

 1.3.3 批量替换(需要一个个确认)

  命令模式 :%s/旧内容/新内容/gc    (c即confirm确认)

 watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTExNzQ2OTk=,size_16,color_FFFFFF,t_70                                                                                                                                                                                                            会有一个提示,问你是否替换,y(yes)or n(not) ,此时输入y,就替换,输入n,则不替换。                                                                                      

 

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平