需要自定义 vim 命令的帮助
Need Help for Custom vim command
我不久前开始使用vim。我不知道如何实现以下自定义命令:
我正在使用 Arduino 草图,其中包含设备的 IP 地址 运行 网络中的草图,如 my_ip = 192.168.10.x
我想将 :OtaUpload
之类的自定义命令绑定到以下过程:
- 在活动文档中搜索变量的内容,例如
my_ip = <search_result>
- 执行并等待完成以下 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
我不久前开始使用vim。我不知道如何实现以下自定义命令:
我正在使用 Arduino 草图,其中包含设备的 IP 地址 运行 网络中的草图,如 my_ip = 192.168.10.x
我想将 :OtaUpload
之类的自定义命令绑定到以下过程:
- 在活动文档中搜索变量的内容,例如
my_ip = <search_result>
- 执行并等待完成以下 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