Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
Html vim如何传输:将命令替换为脚本_Html_Vim - Fatal编程技术网

Html vim如何传输:将命令替换为脚本

Html vim如何传输:将命令替换为脚本,html,vim,Html,Vim,下面是2:s命令。在命令行或作为键映射的一部分可以正常工作,但我无法让它们在vim脚本中正确运行。我用了normal,execute,execute“normal…”并对它们调用normal。我把范围放在s之前,在正常情况下,我在s之前尝试过有a:和没有a:的范围。我应该如何在.vim文件中写入它们 :%s/<[\/]\?SPAN\|DIV\|OPTION[^>]*>//gi :%s/<\(hr\|h[1-6]\|ul\|li\|p\|tt\|ol\|table\|tr\

下面是2:s命令。在命令行或作为键映射的一部分可以正常工作,但我无法让它们在vim脚本中正确运行。我用了normal,execute,execute“normal…”并对它们调用normal。我把范围放在s之前,在正常情况下,我在s之前尝试过有a:和没有a:的范围。我应该如何在.vim文件中写入它们

:%s/<[\/]\?SPAN\|DIV\|OPTION[^>]*>//gi
:%s/<\(hr\|h[1-6]\|ul\|li\|p\|tt\|ol\|table\|tr\|td\|p\) [^>]\+/<\1/gi
:%s/]*>//gi

:%s/]\+/您可以将类似您的Ex命令放入
myscript.vim
文件中,然后通过

:source myscript.vim
这应该不需要修改就可以工作(您不需要前导的
,但它不会造成伤害)。我看不出有任何问题,您也不需要执行
:execute
,除非您希望包含变量<代码>:normal
用于正常模式命令(例如
diw


通常,您会将这些自定义命令放入一个函数中(该函数将被放入
~/.vimrc
~/.vim/plugin/myscript.vim
),并通过
调用它:通过映射或自定义命令直接调用

您应该将它们添加到脚本中。在这种情况下,您不必在它们前面加任何前缀。

我不确定这些是否可以在脚本中使用,但总是有
substitute()
函数与这些函数的用法非常相似,并打算在脚本中使用。@gokcehan:
substitute()
用于变量内容,如果您想修改当前缓冲区,您仍然可以使用
:substitute
。@IngoKarkat不是
:substitute
只是
:s
的缩写。非常感谢。我首先假设它们将直接在.vim文件中工作,但发现我必须执行“普通d1G”,所以我假设必须将它们全部正常化。我的vimrc被键映射重载,因此我开始将冗长的键映射传输到.vim文件。