我正在寻找一种在vim脚本中将匹配结果复制到局部变量的方法。
问题是我希望匹配包含游标位置原子$res = $this->AgentChat->find(
'first',
array(
'contain' => array(
'AgentChatMember' => array(
'conditions' => array(
'AgentChatMember.user_id' => $userIds
)
)
),
'conditions' => array(
'AgentChat.agent_chat_member_count' => count($userIds),
'AgentChat.chat_team_id' => $chatTeamId
)
)
);
的文本,例如:\%#
,它匹配游标下的[A-Za-z:]*\%#[A-Za-z:]\+
文本等标识符(所以{ {1}}对我不起作用。)
我想稍后在脚本中使用它,但我越挖越多,我开始怀疑这是否可能(或者:如果我应该采用不同的方式,通过收集当前行,光标位置然后手动提取光标下的标识符。
如果在vim脚本中无法实现这一点 - ::namespace::ParentClass::SubClass
原子背后的想法是什么?有什么用?
答案 0 :(得分:1)
您有两种选择:
getline()
,strpart()
和matchstr()
,就像您在问题中所暗示的那样。search()
两次,一次在光标后找到匹配的结束,一次在光标前/上找到匹配的开始,然后使用getline()
和{ {1}}提取匹配的文字:strpart()