gpt4 book ai didi

vim - 禁用 vim 中特定的 autocmd 项目

转载 作者:行者123 更新时间:2023-12-05 08:23:13 28 4
gpt4 key购买 nike

我已经给出了删除 vim 中尾随空格的配置

  au BufWritePre *.rb :%s/\s\+$//e
au BufWritePre *.html :%s/\s\+$//e
au BufWritePre *.js :%s/\s\+$//e
au BufWritePre *.jsx :%s/\s\+$//e
au BufWritePre *.json :%s/\s\+$//e

问题

我有一个项目,多个开发人员在其中工作,而且它很大。我不想通过删除此项目中现有的尾随空格来引起很多冲突。

预期

我只想为该特定项目禁用此配置。假设我的项目在 ~/work/projectA 中。

最佳答案

首先,您可以使用一个自动命令完成所有这些:

au BufWritePre *.{rb,html,js,jsx,json} %s/\s\+$//e

其次,你应该把它放在一个合适的“augroup”中:

augroup TrailingSpaces
autocmd!
autocmd BufWritePre *.{rb,html,js,jsx,json} %s/\s\+$//e
augroup END

第三,您可以使用另一个(可能有点笨手笨脚的)自动命令为该特定项目禁用该组:

augroup SpecialProject
autocmd!
autocmd BufNewFile,BufRead ~/work/projectA/**/* autocmd! TrailingSpaces
augroup END

第四,在 :%s/\s\+$//e 之后丢失光标位置并不好玩。如果我是你,我会做这样的事情:

augroup TrailingSpaces
autocmd!
autocmd BufWritePre *.{rb,html,js,jsx,json} let w:wv = winsaveview() | %s/\s\+$//e | call winrestview(w:wv)
augroup END

参见:help winsaveview()

关于vim - 禁用 vim 中特定的 autocmd 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945493/

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