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退出到导航模式;进入编辑模式有多个快捷键方式,按i键在光标所在位置插入,按A键,则定位到原来光标的后一位并进入编辑模式,按shit+I则定位到光标所在行的行首并进入编辑模式,按shift+A则定位到光标所在行的行尾并进入编辑模式,按字母O键直接定位到光标所在位置的下一行,并插入一行空白行进入编辑模式,按shift+O则定位到光标所在行的上一行,并插入一行空白行进入编辑模式;

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

如果不是单行复制,也不是多行复制,而且只是复制某行的某些字符,或者跨行的某些字符,则可以在导航模式下,按V键,进入字符可视模式,将光标移动到对应的字符前边,然后使用上下左右键进行单个字符的多次选择。

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

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

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

1.1.3 删除操作

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

如果要删除单行文本,则在导航模式下光标定位到要删除的那一行 ,按下DD键即可,若要删除多行,则按多次DD键,如果删除光标所在位置到行首的字符,使用D0(数字0)或者D^,删除光标所在位置到行尾,使用D$;

总结一下复制,粘贴和删除操作,如下表

复制,粘贴,删除操作
操作类型快捷键功能说明
删除X或Del删除光标位置后边的单个字符
shift+X或者Backspace删除光标位置前边的单个字符
数字(用变量n表示)+X删除光标后边的n个字符
DD删除光标所在的一整行
nDD

 删除从光标处开始往下的n行内容 

D^或者D0

删除当前光标之前到行首的所有字符

D$

删除前光在位置到行尾的所有字符

DW

删除前光标所在位到下 一单词词首的字符

DE删除当前光标所在位前或单词词尾的字符
DB删除当前光标所在位置到当前或上个单词词首
复制YY复制当前行整行的内容到剪贴板中
nYY

复制从光标位置开始往下的n行内容

Y^

复制从光标至行首的内容

Y$复制从光标至行尾的内容
YW复制从光标开始到单词词首的字符
YE复制从光标开始到单词词尾的字符
nYW复制从光标开始位置的n个单词
粘贴P将剪贴板中的内容粘贴到光标位置之后
shift+P将剪贴板中的内容粘贴到光标之前

1.1.4 误操作撤销与重做

误操作之后,后悔了,则在导航模式下按U键(undo),如果要重做则ctrl+R键(redo),如果只对光标所在行进行的操作进行撤回,按shift+U, 按两次shift+Z键,是保存当前文件内容并退出vim编辑器

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!'或者‘:set nonu’隐藏行号

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

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

1.2.2 定位并插入

在导航模式下,按O键进入编辑模式并将光标定位到下一行,并插入一行空白行,shift+O则是定位到光标的上一行,并插入一行空白行;shift+I(大写的字母i)定位到行首并进入插入模式,shift+A定位到行尾并进入插入模式

1.2.3 快速在整个文件中定位

定位到文件的开头,则在导航模式下,按两下G键,定位跳转到文件的结尾,Shift+G;跳转到文件的第n行,n+shift+G;向下跳转n行,则n+(具体数字后再按加号),向上跳转n行,则是n-

1.2.4 快读定位到某一行

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

例如,定位到第二行

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

 定位移动操作总结:如下表

定位跳转操作
操作类型快捷键功能说明
翻页PgDn 或者Ctrl+F向下翻动一页内容
PgUp或者Ctrl+B向上翻动一整页内容
Ctrl+D向下翻动半页内容
Ctrl+U向上翻动半页内容
单词键快速跳转W跳转到下一个单词的词首
E跳转到当前或者下一个单词的词尾
B跳转到当前或者上一个单词的词首
n+对应的操作键表示跳转对应方位的n个单词的位置,例如2W表示跳转到后边n个单词的词首
行内快速跳转Home键,^或0跳转到行首
End键或$跳转到行尾
行间快速跳转GG跳转到文件的首行
shift+G跳转到文件的末尾行
n+shift+G跳转到文件的第n行
n+(数字,然后再按shift和加号)向下跳n行
n-(数字,然后直接减号,中间不用加shift)向上跳n行
当前页shift+H跳转到当前页的首行
shift+M跳转到当前页的中间行
shift+L跳转到当前页的尾行
ZT将当前光标所在行置于屏幕顶端

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键,如果想上查找,则shift+N;

查找关键字还可以?关键字,就是用问号替换斜杠,也可以查找关键字,然后按N键则是往上查找

1.3.2 内容替换(无需确认)

命令行模式下(也可以称作末行模式)

输入  :s/旧内容/新内容,回车后,只会替换光标所在行的第一个符合条件的内容;

如果要替换光标所在行所有符合的内容,则输入 :s/旧内容/新内容/g

如果要全局(全文替换),则命令模式 :%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,则不替换。                                                                                      

1.4 视图模式

还有一个比较实用的是块视图,可以同时对多行进行编辑以及删除操作

创建并打开一个测试文件

touch test.txt ; vim test.txt; 按i键进入编辑模式,输入一些文字

现在文本文件中有4行,a,b,c,d ;现在我要统一在这几行前边加上 private String该如何操作呢?

首先按Esc退出编辑模式,然后按Ctrl+V进入块视图模式,如下:

vim编辑器中提示了可视块,进入了块视图模式,然后按上下左右键,或者HJKL,选择要修改的行

 

我现在从d所在的第四行往上选择了4行,然后按shift+I(字母i),定位到第一行并进入编辑模式,然后输入 private String,输入完后,按两次ESC退出,就得到下边的效果:

 

如果要一次删除多行内容,则只需要替换上边shift+I的操作为D键,即可删除选中的多行内容

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值