我有相当多的 PHP 类源文件,我可以使用命令列出这些grep -r "class " *
文件,每个文件都包含class <MyClass>
模式。
例如,一个这样的文件包含:
<?php
class NavlinkItem {
var $id;
var $name;
var $description;
var $image;
var $imageOver;
var $url;
var $blankTarget;
var $language;
var $templateModelId;
var $navlinkId;
function NavlinkItem($id = '') {
}
我想function NavlinkItem
用图案替换图案function __construct
。
该NavlinkItem
模式可以从system/navlink/NavlinkItem.php
源文件的实际名称派生,我可以得到它expand('%:t:r')
我可以将NavlinkItem
模式存储在a
寄存器中let @a = expand('%:t:r')
我想对该寄存器的内容进行替换execute 's/function ' . getreg('a') . '/function __construct/'
该模式似乎已找到,因为它以黄色突出显示。
但该命令仍然出错并显示E486: Pattern not found: function NavlinkItem
消息。