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