gpt4 book ai didi

用于写入所有缓冲区 :wa 的 vim 自动命令事件

转载 作者:行者123 更新时间:2023-12-04 18:23:13 26 4
gpt4 key购买 nike

我目前正在使用以下映射,基本上通过执行脚本将我的 dev env 中编写的任何文件复制到我的本地服务器。它适用于单个文件。但是,我有做 :wa 来保存所有打开的缓冲区的习惯:

au BufWritePost /path/to/dev/* silent !$HOME/bin/somescript.sh %:p 

关于如何将其重写为条件的任何建议,例如:
if one file
exec script to copy just that file # like I already have
if :wa
# here I'd probably exec a script to just copy recursively

编辑

每个 ZyX 解决方案的可能解决方案:
au BufWritePost /Users/rlevin/programming/sugar/Mango/sidecar/* silent !$HOME/bin/sugarbuild.sh %:p

" If we do :wa<CR> we check if command type is ':' and if command itself was
" 'wa'. If so, we call the command WA which calls BuildSidecarIfInProject.
" This checks if we're actually within the project's directory
cnoreabbrev <expr> wa ((getcmdtype() is# ':' && getcmdline() is# 'wa')?('WA'):('wa'))
command! WA :call BuildSidecarIfInProject()
function! BuildSidecarIfInProject()
if fnamemodify('.', ':p')[:44] is# '/Users/rlevin/programming/sugar/Mango/sidecar'
exec ":!$HOME/bin/toffeebuild.sh"
endif
endfunction

最佳答案

无法确定保存的文件数量,但您可以重新映射/缩写 wa:

command WA # command that executes a script to just copy recursively
cnoreabbrev <expr> wa ((getcmdtype() is# ':' && getcmdline() is# 'wa')?('WA'):('wa'))

关于用于写入所有缓冲区 :wa 的 vim 自动命令事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10238029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com