热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Ubuntu中vim编辑器的常用操作

vim编辑器分为三种模式:命令模式、输入模式和底线模式。命令模式:直接启动vivim,就进入了命令模式。在命令模式下,按

vim编辑器分为三种模式:命令模式输入模式底线模式
在这里插入图片描述


命令模式:

直接启动vi/vim,就进入了命令模式。
在命令模式下,按‘h’,‘j’,‘k’,‘l’可以将光标进行上下左右移动。


删除:

x :在一行字中,删除光标后的一个字符
X : 在一行字中,删除光标前的一个字符
nx :n是数字,删除光标其后的 n 个的字符
dd :删除光标所在的行
ndd :删除光标所在行的向下 n 行
dG :删除光标所在行及后面所有的数据


复制:

yy :复制光标所在的这一行
nyy :n是数字,复制光标所在行的向下 n 行
y1G :复制光标所在行到第一行的所有数据
yG :复制光标所在行到最后一行的所有数据
y0 :复制光标所在的字符到这一行行首的字符
y$ :复制光标所在的字符到这一行行尾的字符


粘贴:

p(小写) :将已经复制的数据在光标所在行的下一行贴上。
P(大写) :将已经复制的数据在光标所在行的上一行贴上。


其他:

J :将光标所在行与下一行的数据结合成同一行(下一行会直接提上来)
c :重复删除多个数据
u :撤销(复原)
Ctrl + r :重新执行上一个动作


搜索替换:

/Word :向光标之下寻找一个名称为Word的字符串
?Word :向光标之下寻找一个名称为Word的字符串
n : (键盘英文状态下),重复前一个搜索的动作(如,前面是向下搜索,则继续向下搜索)
N : (键盘英文状态下),反向重复前一个搜索的动作(如,前面是向下搜索,则反过来向上搜索)
:n1,n2s/word1/word2/g :在n1和n2之间寻找word1这个字符串,再将其替换为word2这个字符串
:1,$s/word1/word2/g%s/word1/word2/g :从第一行到最后一行之间寻找word1这个字符串,再将其替换为word2这个字符串

:1,$s/word1/word2/gc%s/word1/word2/gc :从第一行到最后一行之间寻找word1这个字符串,再将其替换为word2这个字符串!并且提醒用户是否需要取代.


输入模式(编辑模式):

输如 i 或者 I,就可以进入到输入模式,来对文本进行编辑。
i 从目前光标所在处输入; I 从目前光标所在行的第一个非空字符处开始输入

输如 a 或者 A,就可以进入到输入模式,来对文本进行编辑。
a 从目前光标所在处的下一个字符输入; A 从目前光标所在行的最后字符处开始输入

输如 o 或者 O,就可以进入到输入模式,来对文本进行编辑。
o 从目前光标所在行的下一行输入新的一行; O 从目前光标所在行的上一行输入新的一行

r , R 进入替换模式:
r :只会取代光标所在的那一个字符;R会一个取代光标所在的字符,直到按下ESC为止


底线命令模式:

:w :保存文档,但不退出
:q :退出
:q! :不保存,退出
:wq :保存文档,并退出
:wq! :保存文档,并退出
ZZ :若文档没有更改,则不储存离开,若文档已经更改过,则存储后离开
:w filename :将编辑的数据存储成另一个档案
:r filename :在编辑的数据中,读入另一个档案的数据
:n1,n2 w filename :将n1和n2的内容存储到filename这个文件中
:! 指令:暂时离开vim执行其他指令,按回车可以再次返回来
注意:在vim中,感叹号(!),一般具有强制的含义


vim环境的变更

:set nu :显示行号,设定后,会在每一行的前缀显示该行的行号
:set nonu :与上面的相反,取消行号!


代码中批量添加注释

批量注释:


  • 方法一: Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号 // 或 #,输入完毕后,按两下Esc,vim会自动将你选中的所有行首都加入注释,保存退出完成注释。
  • 方法二::起始行号,结束行号s/^/注释符/g。例如 :10,20s/^/#/g,为注释10到20行的代码

取消注释:


  • 方法一:Ctrl + v进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,Esc保存退出。
  • 方法二::起始行号,结束行号s/^注释符//g。例如 :10,20s/^#//g,为取消10到20行代码的注释

推荐阅读
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • Pycharm编辑器取消双击shift弹出搜索框的方法
    在使用Pycharm编辑器时,双击shift会弹出搜索框界面,导致输入失去焦点,给用户带来不便。本文介绍了取消双击shift弹出搜索框的方法:在Pycharm中双击shift,输入registry并回车,找到“ide.suppress.double.click.handler”并勾选后,关闭即可解决该问题。通过这个方法,你再也不会被shift问题困扰了。 ... [详细]
  • 如何使用迅捷PDF编辑器给PDF文件设置全屏动画
    本文介绍了使用迅捷PDF编辑器给PDF文件设置全屏动画的方法,包括安装软件、添加PDF文件、设置动画效果和页面范围等步骤,帮助用户实现PDF文件的全屏动画效果。操作简单,适用于华为全屏等设备。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文讨论了在PHP中将空格转换为问号的问题,并提供了解决方案。文章指出,空格不是标准的空格,而是特殊的0xC2 0xA0字符。作者尝试使用mb_convert_encoding函数将utf8字符串转换为gbk编码,但未成功。文章建议检查编辑器是否对空格进行了特殊处理,并提供了使用base64_encode函数打印结果的方法。最后,给出了完整的代码示例。 ... [详细]
  • Win7系统如何实现Ctrl+Alt+Del热键组合呼出任务管理器
    本文介绍了在Win7系统中如何通过组策略编辑器设置,实现Ctrl+Alt+Del热键组合呼出任务管理器的方法。通过删除原有的项目并设置呼出任务管理器,用户可以方便地使用Ctrl+Alt+Del热键组合来打开任务管理器。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
author-avatar
当王子爱上灰姑娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有