需要自定义 vim 命令的帮助

Need Help for Custom vim command

我不久前开始使用vim。我不知道如何实现以下自定义命令:

我正在使用 Arduino 草图,其中包含设备的 IP 地址 运行 网络中的草图,如 my_ip = 192.168.10.x

我想将 :OtaUpload 之类的自定义命令绑定到以下过程:

  1. 在活动文档中搜索变量的内容,例如my_ip = <search_result>
  2. 执行并等待完成以下 python 命令:python /path/to/script.py -i <search_result> -f "<absolute_path_of_active_doc>/build/<name_of_active_doc>.bin"

我知道我可以使用 %:p:h 获取活动文档的目录,使用 %:t 获取文档的名称,但我不知道如何按照我的需要连接它们。

需要熟悉vim脚本才能充分利用vim。希望这对您入门有所帮助。

function! Build(ip_prefix)
  call search(a:ip_prefix)
  let ip = matchstr(getline('.'), a:ip_prefix.'\zs.*')
  let cmd = 'python /path/to/script.py -i '.ip.' -f <absolute_path_of_active_doc>/build/<name_of_active_doc>.bin'

  echom ip
  echom cmd

  " Uncomment below when the cmd is ready
  " execute cmd
endfunction

command Build :call Build('my_ip=')

normal G
Build


" my_ip=192.168.10.x