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

推荐阅读
  • 本文提供两种方法来解决Ubuntu 18.04系统中Fcitx输入法字体显示过小的问题,包括手动编辑配置文件和通过Fcitx配置工具进行设置。 ... [详细]
  • 本文探讨了为何在Linux系统上进行项目开发的重要性,并详细介绍了如何在Ubuntu系统上安装PyCharm这一流行的Python集成开发环境(IDE)。通过本文,您将了解在Linux环境下进行Python开发的优势及具体安装步骤。 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • 帝国cms各数据表有什么用
    CMS教程|帝国CMS帝国cmsCMS教程-帝国CMS精易编程助手源码,ubuntu桥接设置,500错误是tomcat吗,爬虫c原理,php会话包括什么,营销seo关键词优化一般多 ... [详细]
  • 本文详细介绍了在Mac操作系统中使用Python连接MySQL数据库的方法,包括常见的错误处理及解决方案。 ... [详细]
  • 在尝试使用Ubuntu 10.04进行Android开发时,遇到了系统无法识别HTC G1设备的情况。本文将详细介绍如何通过配置系统和安装必要的驱动来解决这一问题。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • 本文总结了在多人协作开发环境中使用 Git 时常见的问题及其解决方案,包括错误合并分支的处理、使用 SourceTree 查找问题提交、Git 自动生成的提交信息解释、删除远程仓库文件夹而不删除本地文件的方法、合并冲突时的注意事项以及如何将多个提交合并为一个。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
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社区 版权所有