我不久前开始使用 vim。我不知道如何实现以下自定义命令:
我正在使用 Arduino 草图,其中包含在网络中运行草图的设备的 IP 地址,例如 my_ip = 192.168.10.x
我想将像 :OtaUpload
这样的自定义命令绑定到以下过程:
my_ip = <search_result>
python /path/to/script.py -i <search_result> -f "<absolute_path_of_active_doc>/build/<name_of_active_doc>.bin"
我知道我可以用 %:p:h
获取活动文档的目录,用 %:t
获取文档的名称,但我不知道如何按照我的需要连接它们。
答案 0 :(得分:0)
需要熟悉vimscript才能充分利用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