问题标签 [ex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
430 浏览

regex - 使用 Vim 的 Ex 模式从一组行中复制模式

我正在整理我的 vimrc。

任务:
- 复制单引号内的内容(最好在斜线之后)
- 将它们粘贴到第 1 行下方

我知道

Ex 命令,我知道它接受模式。但是,我仍然无法做到恰到好处。我对正则表达式也很陌生,所以请耐心等待。我尝试了一些类似的东西(在视觉选择上

我尝试匹配以下模式的地方:

  • 以 / 开头
  • 中间可能包含东西。*
  • 以 ' 结尾

显然,我在某种程度上偏离了。有任何想法吗?

0 投票
3 回答
688 浏览

bash - bash 变量在脚本中不能与 ex 一起使用

我的 bash 脚本有点问题。

这只是我剧本的一小部分。当我运行它时,这是输出。

有什么办法可以解决这个问题,所以 $1 将成为脚本的参数?

谢谢!

0 投票
9 回答
3141 浏览

vim - 在 Vim 中,如何删除在某处重复的所有行

我有一个包含以下行的文件:

我想从文件中删除所有出现的重复行,只留下非重复行。因此,在上面的示例中,结果应该是:

我看到了一个类似问题的答案。我试图修改 ex one-liner,如下所示:

但它不会删除所有出现的重复行,它只会删除一些出现。

我怎样才能在 vim 中做到这一点?或者特别是如何在 vim 中使用 ex 执行此操作?

为了澄清,我不是在寻找sort u.

0 投票
4 回答
116 浏览

regex - Vim - 用于更改布尔变量检查的正则表达式

我正在开发一个 C 项目,我想更改所有布尔变量检查

为了使代码更易于阅读(我想对 while 语句做同样的事情)。无论如何,我正在使用以下正则表达式,它搜索感叹号后跟小写字符和最后一个右括号。

很抱歉让您查看它,但我不明白为什么它会失败。

另外,有没有更简单的方法来解决这个问题和一般使用 vim 正则表达式?

0 投票
3 回答
140 浏览

vim - 在 ex 中交换字符

我对 vim 和 ex 很陌生,我想知道是否有人可以帮助我解决我模糊的领域。我想知道如何在每一行或每出现一个模式时交换字符。例如,我将如何交换文件中每一行的前 2 个字符。我知道这是可以做到的,而且我很确定它涉及使用括号来存储字符。但这就是我所知道的。另外,假设我想用一些字符串替换每一行的第二个字符,我该怎么做?

0 投票
3 回答
1701 浏览

vim - 使用 vi 缓冲区

所以我正在学习 vim/vi/ex,我认为我对缓冲系统有很好的理解。(有一个通用缓冲区,您也可以命名缓冲区)。我知道,无论何时使用 yank、change 或 delete,通用缓冲区的内容都会被覆盖。

但是,我被赋予了使用 vi/ex 命令删除缓冲区的最后 2 行的任务,我被难住了。我似乎无法通过搜索论坛或互联网找到答案,所以我想我会在这里向互联网大师寻求帮助。

有没有办法直接修改缓冲区的内容,或者答案只是粘贴缓冲区,删除最后两行然后再次拉出它?

任何帮助表示赞赏。

编辑:我想编辑这个问题以包括问题:缓冲区和寄存器之间有什么区别?

我最初认为它们本质上是相同的,但后来学到了不同的东西。

我的新理解是,我之前所说的缓冲区实际上是寄存器,根据我对计算机的了解,这更有意义。

现在,我相信缓冲区只是您正在修改的文本的当前副本。或者更具体地说,您正在处理数据的主内存区域。(所以我的问题的答案实际上只是:$-1,$d)

但是,我在这些论坛上遇到了相互矛盾的信息,这些信息正好相反,将“寄存器”称为“缓冲区”。

如果有人能澄清这一点,我将不胜感激。

编辑:vim 帮助得到了我需要的所有答案,但不能删除帖子。应该注意的是,本网站和许多其他问题的答案都得到了很高的评价,但错误地将寄存器称为缓冲区。

0 投票
2 回答
38 浏览

unix - vi 动线和词

我正在上 UNIX 课程,不幸的是我的老师不是最好的……所以我需要你的帮助!

我有一个名为 file1 的文件,其中包含以下文本:

我们的老师希望我们做的是使用一个命令首先将文件的顶行移动到底部,这样它看起来像:

然后使用 ex 命令,我们必须取名字,并将它们移动到姓氏之后,并用逗号分隔它们:

你们能提供的任何帮助将不胜感激,我今天试着去我的老师办公时间问他这个问题,他基本上告诉我迷路,所以现在我不知道发生了什么..

太感谢了!

0 投票
1 回答
384 浏览

regex - 使用正则表达式按字母顺序对标题进行排序

我有一个标头语法为的降价页面!!!。例如:

我想按字母顺序对文本块进行排序,从下一个开始!!!并在下一个之前完成!!!

有没有办法让我这样做?

0 投票
2 回答
440 浏览

encoding - 为什么 vim 在 Ex 模式下不能正确插入西里尔符号?

要更改多个文件,我使用以下脚本:

然后我做for file in *.html do; vim -e $file < script; done

结果,插入了字符串“^Z=86=K5 A5@88”而不是“Книжные серии”。所有 html 文件以及脚本本身都是 utf-8 编码的,并且没有发现 Cyrillic 的其他问题。这是怎么回事?

提前感谢您的任何评论!

0 投票
2 回答
305 浏览

vim - 是否可以使用命令ab在vim中缩写两个单词

我的问题很简单:有没有办法仅使用...中的命令来缩写由空格分隔的两个单词...是否可以转义空格字符?abvi

在 stackoverflow 中,我只找到了这个但所有答案都使用了替换命令。我也试过:

:ab word1<space>word2 replaceWord

但徒劳无功(产生错误)