热门标签 | 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行代码的注释

推荐阅读
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 如何在CAD查看器中同时打开并对比两张DWG图纸
    本文将详细介绍如何使用专业的CAD查看软件,如迅捷CAD看图,来同时打开和对比两张DWG格式的CAD图纸。无论是在设计审核还是项目管理中,掌握这一技能都能显著提高工作效率。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
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社区 版权所有