vim命令模式下单引号和双引号有区别吗?

2024-04-12

在我的 vim 中,我可以使用:%!sed "s/^/ /",当我使用时得到错误的输出:%!sed 's/^/ /' .

sed: -e expression #1, char 0: no previous regular expression

vim命令模式下单引号和双引号有区别吗? 在我的 sed 中,单引号与双引号相同。

$ echo "wha012" | sed  's/w/haha/'
hahaha012

$ echo "wha012" | sed  "s/w/haha/"
hahaha012

我的系统是 xp+vim 7.3 for windows。

在我的系统中:
[1]“c://cygwin/bin/ash.exe”
[2]“c://cygwin/bin/bash.exe”
[3]“c://cygwin/bin/dash.exe”
[4]“c://cygwin/bin/sh.exe”

如果我设置set shell=\"c:\cygwin\bin\sh.exe"\ -f in _vimrc,我收到新的错误消息:

找不到 sed 命令。


有趣的是,当我尝试时:%!sed "/^/ /"我收到与使用单引号时相同的错误消息:

sed: 1: "/^/ /": invalid command code /

(This line replaces the content of my file.) I expect to get an error message there because, as @Birei pointed out, you left out the sed s command. This works as expected, with either single or double quotes:

:%!sed "s/^/ /"

@Birei 也是正确的,你可以使用 vim 来做这样的事情,但我假设你已经简化了你真正想做的事情的例子。

To answer the original question, Vim uses single quotes for literal strings. The only special character in a literal string is ' itself. Strings delimited with double quotes use \ to denote special character, such as `"\<Esc>".

:echo 'a''b' == "a'b"
:help expr-string
:help literal-string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vim命令模式下单引号和双引号有区别吗? 的相关文章

随机推荐

  • 抑制 make clean 中的消息(Makefile 无提示删除)

    我想知道如何避免 Makefile 中出现一些回声 clean rm fr o 该规则将打印 gt make clean rm fr o gt 我怎样才能避免这种情况 首先 实际的命令必须位于下一行 或者至少 GNU Make 是这样 它可
  • 在所有存储过程中搜索模式然后打开它进行更改的方法

    如何在所有存储过程中搜索某个模式 然后打开要编辑的存储过程 SQL Server 2005 内部有内置的东西吗 或者是否有任何第三方插件可以进行此搜索 我也在使用 Red Gate 的 SQL Prompt 但我没有注意到该选项 目前我正在
  • Zend_Db:如何从表中获取行数?

    我想知道一个表中有多少行 我使用的数据库是MySQL数据库 我已经有一个 Db Table 类 用于像这样的调用fetchAll 但我不需要表中的任何信息 只需要行数 如何在不调用的情况下获得表中所有行的计数fetchAll count d
  • 重写大型 IN 子句的最高效方法是什么?

    我使用 go 和 gorm 编写了一个 API 它在我们的数据库上运行计算并返回结果 我刚刚达到了参数限制IN使用聚合时的条件 查询示例 SELECT SUM total amount from Table where user id in
  • 使用 While() 结构时 Gridview 不会填充。 C# ASP.Net

    我在使用此网格视图时遇到问题 我正在用查询填充它 但是 如果我使用 while reader Read 结构 它就不会填充甚至不会出现 没有 while 结构 它工作得很好 但是 我需要访问两个特定字段 代码如下 SqlDataReader
  • getLastknownLocation() 在 nexus 上返回 null 值

    我正在开发基于位置的项目 我使用以下代码 我正在为该项目使用 google api 8 lm requestLocationUpdates LocationManager GPS PROVIDER 0 0 this currloc lm g
  • 为什么我们应该总是从函数返回值?

    我不是一个编程高手 但多次听程序员说我们应该始终从函数返回值 我想知道原因 函数不需要返回任何内容 如果您查看 C 函数 您会发现其中许多函数不需要返回任何内容 好吧 不是明确地 void nonReturningFunction cons
  • Python:有限制的非线性优化(Gekko?)

    我希望能够用Python解决以下问题 给定观测数据 x 1 x n 和已知的固定目标 B 和公差 E 求解参数 a0 a1 和 a2 从而最小化 总和 w i 2 其中 w i exp a0 a1x i a2x i 2 具有以下两个限制 s
  • 拆分包含两者的字符串中的数字和字母

    我正在尝试分割以下 或类似 字符串 08 27 2015 07 25 00AM 目前我使用 var parts date split 0 9a zA Z g 这导致 02 27 2012 03 25 00AM 问题在于00AM部分 我也想分
  • 在 Visual Studio 中的项目之间共享预编译头

    我有一个包含许多 Visual C 项目的解决方案 所有项目都使用 PCH 但有些项目打开了特定的编译器开关以满足项目特定的需求 这些项目中的大多数在各自的 stdafx h 中共享相同的标头集 STL boost 等 我想知道是否可以在项
  • 网页抓取、屏幕抓取、数据挖掘技巧? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Python (2.7) 中比较两个相同的对象返回 False

    我在Python中有一个函数叫做object from DB 该定义并不重要 只是它采用 ID 值作为参数 使用sqlite3库从 db 文件中的表中提取匹配值 然后在对象初始化时使用这些值作为参数 使用此函数不会改变数据库 鉴于此 这个示
  • 有向加权图的邻接表

    我使用邻接表来表示有向加权图 并基于以下提供的示例代码this https stackoverflow com questions 58306 graph algorithm to find all connections between
  • 使用 ggplot2 绘制“序列徽标”?

    是否 合理 可能绘制一个序列标志图 http en wikipedia org wiki Sequence logo使用ggplot2 有一个基于 网格 的包可以做到这一点 称为 seqLogo http www bioconductor
  • 使用枚举对结构进行分组

    在 Rust 中 应该如何对相关结构进行分组 以便函数签名可以接受多种不同类型 同时引用方法体内的具体类型 为了简单起见 设计了以下示例 enum Command Increment quantity u32 Decrement quant
  • 使用CreateProcess调用exe文件?

    一直尝试从我的 Visual Studio C 应用程序调用 Truecrypt exe 但是CreateProcess只是不工作 GetLastError shows 127 目的是调用exe不显示命令窗口 请帮忙 我尝试过搜索并阅读Cr
  • 读取 XML 节点的值

    我需要获取 XML 文件中节点的值 我的 XML 文件如下所示
  • 嵌入可编辑的 Google 文档电子表格,无需标题和工具栏

    我需要在网页上嵌入 Google 文档电子表格 但它只需是可编辑的单元格 顶部没有 Google 导航和工具栏 我找不到用于在任何地方嵌入 Google 文档的查询字符串变量的引用 但似乎删除工具栏等的唯一方法是在查询字符串中添加 outp
  • 如何将 Win32 异常代码转换为字符串?

    我很不情愿地再次处理 Win32 结构化异常 我正在尝试生成一个描述异常的字符串 大部分都很简单 但我坚持一些基本的事情 如何转换异常代码 GetExceptionCode 或者ExceptionCode的成员EXCEPTION RECOR
  • vim命令模式下单引号和双引号有区别吗?

    在我的 vim 中 我可以使用 sed s 当我使用时得到错误的输出 sed s sed e expression 1 char 0 no previous regular expression vim命令模式下单引号和双引号有区别吗 在我