问题标签 [vi]

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 回答
11356 浏览

vim - 在 Vim 中更改制表位后如何避免缩进错误?

我曾经在 Vim 中有 8 个空格的制表符。然后我改为 4 个空格,但现在每当我在更改为 4 个空格之前编写的一些代码中添加一行时,即使一切都很好地排列,它也会给我一个缩进不匹配错误。有没有办法避免这个问题?

0 投票
2 回答
3737 浏览

vim - 在 vim 中,如何将“args”设置为“grep -l”的结果?

为了说明,以下是如何从命令行执行此操作:

这将打开 vim,其中包含所有包含“hello”的文件(-l 仅给出文件名)。我想做同样的事情,但在 vim 中。从概念上讲,这样的事情(不起作用):

我愿意接受完全不同的方法来实现这一目标;我只是希望它在一行上(所以很容易编辑和重做)。


答案是简单地使用反引号 -但有一个关键的附带条件!由于周围的引号 ,以下内容对我不起作用hello

但如果我删除它们或转义引号,它会起作用:

(这在混乱的回答后被埋在评论中 - 我在这里添加它们以使它们更加明显,以防其他人遇到这个问题)

0 投票
3 回答
1920 浏览

vim - 在 vim 中,如何使用 argdo 追加/插入文本?

有 ":a" 命令,但它是多行的,并且 argdo 会再次要求您输入每个文件的文本。

文档提到了全局命令(g/pat/command),它将使用“:a”的替代版本,该版本由换行符而不是“。”终止。在一行上(您可以通过用“\”转义来包含换行符)。但我无法让它发挥作用。

我见过的唯一方法是首先将要添加的文本拉到命名寄存器中,然后使用:

我希望有类似的东西

0 投票
4 回答
1619 浏览

search - vi 搜索复制粘贴搜索复制

我只是想知道是否有人可以帮助如何使用 vi 执行以下操作。

我有一个文本文件,它可能包含类似

如果我想获取这一行并通过搜索与第一次出现的[A-Za-z0-9]副本匹配到缓冲区的任何内容来转换它,然后将其附加到同一行到第一次出现之前 -

是否有一个 VI 命令可以执行此操作?

干杯本

0 投票
5 回答
14669 浏览

vim - 在 Vim 脚本中省略“找不到模式”错误消息

我在我的 .vimrc 中添加了一个函数,它只是几个搜索和替换命令。但是,如果未找到其中一种模式,我会收到一条需要输入的错误消息。我怎么能压制这个?

0 投票
5 回答
316504 浏览

linux - 设置 Vim 背景颜色

当我尝试.vimrc使用以下命令在 Vim 中或直接在 Vim 中更改背景颜色时:

...它根本不会影响我的背景。选项也没有light。但是,当我运行 gvim 时,它看起来还不错。

有没有办法在不更改我的 Konsole 设置的情况下更改 Vim 中的背景?

编辑好的,guifg/guibg 和 ctermfg/ctermbg 之间是有区别的。虽然 GUI 接受许多不同的颜色组合,但 cterm 只允许少数标准颜色组合。

0 投票
5 回答
19424 浏览

regex - 带有负匹配的正则表达式(即,查找_不_匹配正则表达式的字符串)

我在某些行上有一个带有字符串“ERROR”的日志文件。我想删除没有错误的每一行,以便我可以看到需要修复的内容。我打算在 vim 中执行以下操作:

%s/!(错误)//

用空字符串替换非错误行。

我不相信标准正则表达式可以做到这一点,但也许我错了......

0 投票
2 回答
2301 浏览

vi - 使用 VI 创建文本标题

有没有办法在 VI 中轻松创建文本标题?我想创建一个如下所示的标题,而不必为了居中而计算字符。

有任何 vi 巫术吗?更好的方法?

0 投票
3 回答
7714 浏览

vim - 如何在vim的左侧打开另一个垂直窗口(:vsp)?

vim 的:vsp命令在右侧打开一个窗口。有没有办法在屏幕左侧打开它?

0 投票
7 回答
58708 浏览

vim - 如何将行中间的文本插入 Vim 中的多行?

假设我有十行,我想在这些行中出现的某个单词前面加上文本?它不必位于行首。

从:

到:

是否也可以不仅在前面加上bar(实际包围foobar(foo)

我还想要一种将//注释附加到多行的快速方法(C 样式注释)。

我使用 Vim/GVim 7.2。