regex - 需要自定义 vim 命令的帮助
问题描述
我不久前开始使用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
,但我不知道如何按照我的需要连接它们。
解决方案
它需要熟悉 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
推荐阅读
- javascript - 如何上传、重命名和下载文件?
- java - 模拟控制器之外的类
- python - Pandas DataFrame:如何在索引和列的组合上与第二个 DataFrame 合并
- regex - 如何在 DLP Office365 中的自定义敏感信息中使用正则表达式捕获组
- heroku - Heroku,如何部署不在 git repo 根目录中的 Loopback 应用程序?
- python - Python - 正确杀死/退出期货线程?
- django - 启用多个版本的 Django 默认表单验证错误
- c# - 使用 textBox KeyDown 事件加载 C# WinForm 应用程序中的 Windows 10 声音
- search - 如何增加导航中的搜索文本
- java - 在 gson 序列化期间省略 HashMap 名称