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 - Fatal编程技术网

Vim自定义命令没有';不工作,但手动逐行运行时工作

Vim自定义命令没有';不工作,但手动逐行运行时工作,vim,Vim,我正在尝试编写一个简单的vim命令,它将获取一些文本并清除所有其他内容 以下Vim执行此操作: 我将此脚本放入自定义命令中: command! Getlinks :let @a=""|:%s/something/\=setreg('A', submatch(0), 'l')/g|:%d _|:pu a|:0d _ 当我运行Getlinks命令时,它会删除所有内容,但不会放置匹配的文本。但是,当我手动运行脚本的命令时,它会按预期工作。当用作Getlinks命令时,它为什么不放置匹配的文本。删除那

我正在尝试编写一个简单的vim命令,它将获取一些文本并清除所有其他内容

以下Vim执行此操作:

我将此脚本放入自定义命令中:

command! Getlinks :let @a=""|:%s/something/\=setreg('A', submatch(0), 'l')/g|:%d _|:pu a|:0d _

当我运行
Getlinks
命令时,它会删除所有内容,但不会放置匹配的文本。但是,当我手动运行脚本的命令时,它会按预期工作。当用作
Getlinks
命令时,它为什么不放置匹配的文本。

删除那些
,请尝试这一行:

command! Getlinks let @a=""|%s/something/\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _
对我来说(Vim 7.3.823),你的命令和肯特没有多余冒号的变体都可以工作。
command! Getlinks let @a=""|%s/something/\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _