Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到&;用Vim中的一个表达式替换多个表达式?_Vim_Vi - Fatal编程技术网

如何找到&;用Vim中的一个表达式替换多个表达式?

如何找到&;用Vim中的一个表达式替换多个表达式?,vim,vi,Vim,Vi,我正在将一个示例从PDF复制粘贴到Vim,我必须将所有“和”替换为“ 所有的'和'都带有',这样代码就可以工作了 这似乎更容易理解: 我想同时用foobar替换所有foo和bar。将tr用作过滤器: Unix方式: :%!tr “”‘’ \"\"\'\' 在vi中尝试以下操作: :1,$s/[“”]/"/g 然后 如果要将所有“foo”和所有“bar”替换为“foobar”,可以使用以下命令: %s/\v/foobar/g 这将取代“foo”和“bar”,但将保留任何“foobar” %s

我正在将一个示例从PDF复制粘贴到Vim,我必须将所有
替换为
所有的
'
'
都带有
'
,这样代码就可以工作了

这似乎更容易理解: 我想同时用
foobar
替换所有
foo
bar

将tr用作过滤器:

Unix方式:

:%!tr “”‘’ \"\"\'\'

vi
中尝试以下操作:

:1,$s/[“”]/"/g
然后


如果要将所有“foo”和所有“bar”替换为“foobar”,可以使用以下命令:

%s/\v/foobar/g

这将取代“foo”和“bar”,但将保留任何“foobar”

  • %s/
    -在整个文件中替换
  • \v
    -使用非常神奇的正则表达式语法(有关更多信息,请参阅
    :help magic
  • -匹配正确的单词边界
  • /foobar/
    -替换字符串
  • g
    -全局(将发生在每次事件中,而不仅仅是第一次)

请注意,如果您只是处理标点符号,您可能需要删除此正则表达式的单词边界部分,否则它将不起作用。

PDF…由PDFLaTeX输出,我猜是逐字代码部分?可能吧。我没有latex代码本身,只有PDF。谢谢。您可以将1$替换为%。我如何使它与hole一起工作单词而不是字符?@Dimitar Slavchev:
:%s/\/foobar/g
(请参见
:帮助模式
):
\
划界一个单词,而
\(
\\
)是另一种选择(此处有捕获)
:1,$s/[‘’]/'/g