vim哪些字符需要转义

vim需要转义的字符有:1、空格 ‘\ ’;2、星号 ‘*’;3、井号 ‘#’;4、换行符;5、双引号 ‘”’;6、反引号 `;7、美元符 \$;8、反斜杠 \。空格 ‘\ ’是指转义空格,如果路径中包含空格,那么使用 \ 转义可以避免路径被分割成 Shell 的两个参数。

一、vim需要转义的字符

1、空格 ‘\ ’

这是转义空格,如果路径中包含空格,那么使用 \ 转义可以避免路径被分割成 Shell 的两个参数。

2、星号 ‘*’

如果单独使用 * 将会表示当前路径下枚举的所有文件或文件夹。如果希望保持 * 的原意,那么将其包裹在引号内,或者使用转义 *。

3、井号 ‘#’

表示注释。

4、换行符

在引号中,也可以直接换行。这样换行符就是字符串的一部分。

5、双引号 ‘”’

双引号的作用是避免空格将本来属于同一段参数的字符串分割成两部分。那么如果真的需要双引号的话就需要使用 \ 来转义。

echo "Hello \"world\""

这样才可以输出:Hello “world”。

6、反引号 `

跟引号一样的作用,在引号中也需要转义。

7、美元符 \$

在 Linux Shell 中,这是变量的引用。例如 ${x} 就是引用 x 变量。

$ echo "上一个程序的返回值为:\$? = $?"

上一个程序的返回值为:$? = 127,在引号中也需要转义。

8、反斜杠 \

因为 \ 是转义字符,所以其本身的使用也必然需要转义。在引号中也需要转义。

二、vim的三种模式

基本上 vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

1、命令模式

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

2、输入模式

在命令模式下按下i就进入了输入模式。在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合:输入字符
  • ENTER:回车键,换行
  • BACK SPACE:退格键,删除光标前一个字符
  • DEL:删除键,删除光标后一个字符
  • 方向键:在文本中移动光标
  • HOME/END:移动光标到行首/行尾
  • Page Up/Page Down:上/下翻页
  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC:退出输入模式,切换到命令模式

3、底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

三、vim使用技巧

1、导入其他文件的内容

:r 文件名:把文件内容导入到光标位置

:r /root/aa.txt #末行模式下,输入这个会把 /root/aa.txt 文件的内容加到你光标所在处

2、在 vim 中执行系统命令

:!命令:在 vim 中执行系统命令。

这里只是在 vim 中执行系统命令,但并不把系统命令的结果写入到文件中。主要用于在文件编辑中,查看系统信息,如时间。

3、导入命令结果

:r !命令:在 vim 中执行系统命令,并把命令结果导入光标所在行。

4、多文件打开

在 vim 中可以同时打开两个文件:

[root@hepingfly ~]# vim -o aa.txt abcd 上下分屏打开两个文件
[root@hepingfly ~]# vim -O aa.txt abcd 左右分屏打开两个文件

如果是上下打开两个文件,可以通过先按 「ctrl + w」再按上下箭头的方式在两个文件之间切换。

如果是左右打开两个文件,可以通过先按 「ctrl + w」再按左右箭头的方式在两个文件之间切换。

延伸阅读

vim简介

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时Vim与很多快捷键设置和正则表达式类似,可以辅助记忆。

开发者生产力工具大全

从人工到自动化,从重复到创新,技术演进的历程中,都伴随着开发者工具类产品的发展,所以这里整理近几年口碑良好,使用广泛的22款程序员生产力工具。

1.研发项目管理与协作:PingCode

优点:让工作推进、进度/问题追踪、团队协作变得更简单,2021年研发项目管理榜单TOP1(36Kr)。

简介:覆盖研发全生命周期,广泛用于需求、版本、项目(敏捷/kanban/瀑布)、测试、缺陷、文档、效能等环节管理与协作。并且集成github、gitlab、jinkens等主流工具,支持私有部署、在线等多种部署使用方式。

教程/官网

2.任务管理/甘特图制作工具:Worktile

优点:功能成熟、性价比高、国内市场占有率最高的团队任务工具;

简介:在功能上Worktile 是一个工具集合,它具备OKR目标管理、项目管理、项目集管理、项目计划、项目风险、项目成本管理、企业网盘、审批、简报等能力。并且具备强大的自定义能力,能够配置出符合各种项目团队的流程、表单、字段、数据报表,以及具备丰富的模板市场。

官网/教程

3.分布式版本控制系统:Git

优点:分布式开发、速度快、灵活

简介:Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

教程/官网

4.数据库管理工具:Navicat

优点:高效、安全,最好用的数据库管理工具。

简介:“Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和 MongoDB 等不同类型的数据库,它与阿里云、腾讯云、华为云、Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud 和 MongoDB Atlas等云数据库兼容。

官网/教程

其余工具可通过《神级程序员都用什么工具?程序员生产力工具大全 》查看,以上均整理自该文章。

文章标题:vim哪些字符需要转义,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/47962

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年3月28日 下午7:05
下一篇 2023年3月28日 下午7:26

相关推荐

  • 什么是HTTPS

    HTTPS(全称:Hypertext Transfer Protocol Secure),是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基础下加入SSL,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS …

    2023年5月29日
    700
  • 团体使用的知识库有哪些

    团体使用的知识库有:一、PingCode Wiki;二、Notion;三、有道云笔记;四、docsify;五、DokuWiki;六、坚果云。PingCode Wiki 是一款类网状结构的知识库管理系统,它在国内被广泛用于团队文档协作、搭建团队知识库、产品手册、帮助中心、FAQ、Guide、产品介绍、…

    2023年4月24日
    1900
  • Web前端是什么与后端的关系是什么

    Web前端是指构建和设计网站用户界面的技术和工具,它通常涉及使用HTML、CSS和JavaScript等技术来开发用户交互和视觉效果。Web后端是指处理网站后台功能的技术和工具。Web前端和后端通常协同工作,构成一个完整的Web应用程序。 一、Web前端是什么 Web前端是指构建和设计网站用户界面的…

    2023年5月8日
    5000
  • 迅睿项目管理系统如何下载模板

    迅睿项目管理系统下载模板的步骤:一、登录迅睿项目管理系统;二、选择模板分类;三、下载模板;四、导入模板。首先,用户需要登录迅睿项目管理系统。打开浏览器,在地址栏中输入迅睿项目管理系统的网址,进入系统登录界面。 一、登录迅睿项目管理系统 首先,用户需要登录迅睿项目管理系统。打开浏览器,在地址栏中输入迅…

    2023年3月30日
    1900
  • 什么是跨站脚本

    跨站脚本攻击(英文缩写为 XSS)指的是将恶意代码注入到其他受信任的网站中。当网络犯罪分子将恶意脚本注入目标网站的内容中,然后将其包含在传送到受害者浏览器的动态内容中时,就会发生跨站脚本攻击。 什么是跨站脚本 跨站脚本攻击(英文缩写为 XSS)指的是将恶意代码注入到其他受信任的网站中。当网络犯罪分子…

    2022年10月23日
    20500
  • 工时管理怎么做

    做工时管理的方法:1、选择合适的工时管理工具;2、提前做好计划;3、加强协作;4、跟踪工时费用;5、分析结果。选择合适的工时管理工具,一个项目如果想有效做好工时管理,关键是选择适用自己的工时管理工具。 1、选择合适的工时管理工具 一个项目如果想有效做好工时管理,关键是选择适用自己的工时管理工具。项目…

    2023年3月5日
    11100
  • C++迭代器实质是什么

    C++迭代器是一种让程序员能够访问容器内部元素的对象,它能够访问不同类型的容器,而不需要知道容器的具体实现细节。C++中的迭代器实际上是一个类模板,每个容器都需要定义自己的迭代器类。C++迭代器的应用非常广泛,可以用来遍历容器中的元素,并对容器中的元素进行操作。 C++迭代器是一种让程序员能够访问容…

    2023年3月1日
    7100
  • 办公oa有什么用

    办公oa的作用:1、建立内部的通信平台;2、建立信息发布的平台;3、实现工作流程的自动化;4、实现文档管理的自动化;5、辅助办公;6、信息集成;7、实现分布式办公。建立内部的通信平台,使组织内部的通信和信息交流快捷通畅。 1、建立内部的通信平台。 建立组织内部的邮件系统,使组织内部的通信和信息交流快…

    2023年4月20日
    500
  • scala的akka和go的goroutine有什么区别

    区别:goroutine实现的是csp,通过独立的channel传递信息。akka实现的是actor,消息通过actor拥有mailbox接收。akka是通过线程池实现的actor,线程是有限的,而goroutine运行在用户态线程上,受go运行时抢占式调度。二者都是通过消息通信的机制来避免竞态条件…

    2023年2月17日
    4400
  • 什么是测试用例

    测试用例是为执行软件系统测试而设计和编写出的一组文档,主要由测试输入、执行条件、预期结果等内容组成。测试用例是执行测试的重要依据,具有有效、可重复、易组织、清晰简洁、可维护等特征。 1.测试用例的定义 测试用例是一组由测试输入、执行条件、预期结果等要素组成,以完成对某个特定需求或者目标测试的数据,体…

    2022年11月24日
    2.6K00

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部