1
在我说出我正在尝试做的事情之前,我想先介绍一下我开放的任何/所有解决方案。在vimscript中匹配一个正则表达式并返回它
基本上我正在编辑一个PHP文件。我们在类中的定位功能,我的编辑,需要一个键,与此类似:
$this->localize('SOME_KEY_HERE');
我正在寻找这样做(在VIM)是创建一个键绑定,这将决定什么样的定位价值当光标位于该键上时,该函数调用是。我可以很容易地将密钥放入vimscript函数中。然后,我的计划是通过正则表达式找到类名(这不需要是完美的),然后通过以下命令实例化该类:exec php -r并调用该函数。所以或多或少地创建一个实际上可以打电话的最小脚本。
就像我说过的,我可以按照自己想要的方式获得钥匙。但试图找出适当的vimscript方式来找到当前的课程。基本上我想要在vimscript变量中的第一行中与当前文件中的/^class /匹配的第二个单词。我浏览了一些文档,但似乎无法使其工作。
打开任何/所有关于如何执行此操作的建议。
编辑:为了澄清,我可以分离我做类似的东西突出重点:
function! DoSomething(l)
let key = a:l
search('^class\s\zs\w\+\ze', 'b')
let class = expand('<cword>')
echo 'key: ' . key . ' class: ' . class
endfunction
你还是:
noremap <leader>z :call DoSomething(expand("<cword>"))<CR>
function! DoSomething(l)
let key = a:l
echom key
endfunction
你愿意与我们分享一下你开始获得钥匙的脚本吗? –
编辑原文以添加我如何计划在vimscript函数中获取变量中的语言环境密钥的示例。 – JamesB41
你能举一个输入文本的例子,用'class'等等。对我来说,这个问题还不够清楚。你是什么意思'我想要第一行中匹配/^class /'的第二个单词?为什么它与你的'SOME_KEY_HERE'有关?您想做什么? – Kent