在我说出我正在尝试做的事情之前,我想以我对任何/所有解决方案持开放的态度为其开头。
基本上我正在编辑PHP文件。我在编辑的类中有一个本地化函数,它带有一个键,类似于:
$this->localize('SOME_KEY_HERE');
我想要做的(在VIM中)是创建一个键绑定,当光标在该键上时,将确定该函数调用的本地化值。我可以很容易地将密钥放入vimscript函数中。我的计划是通过正则表达式找到类名(这不需要完美)然后通过:exec php -r实例化该类并调用该函数。所以或多或少,创建一个实际调用的最小脚本。
就像我说的那样,我可以按照我想要的方式隔离钥匙。但是试图找出适当的vimscript方法来找到当前的类。基本上我想要在vimscript变量中第一行与当前文件中的/ ^ class /匹配的第二个单词。我浏览了一些文档,但似乎无法使它工作。
打开任何/所有关于如何执行此操作的建议。
编辑:为了澄清,我可以通过执行以下操作来隔离我突出显示的键:
noremap <leader>z :call DoSomething(expand("<cword>"))<CR>
function! DoSomething(l)
let key = a:l
echom key
endfunction
答案 0 :(得分:2)
您可以使用以下命令获取当前班级的名称:
function! DoSomething(l)
let key = a:l
search('^class\s\zs\w\+\ze', 'b')
let class = expand('<cword>')
echo 'key: ' . key . ' class: ' . class
endfunction
您仍然需要处理光标的位置。