vim - 如何在所有缓冲区中获取 vimrc
问题描述
vimrc
在我做的当前窗口中的所有缓冲区中获取源,在我所做的所有窗口中的活动缓冲区中:bufdo so~/.vimrc
获取源。如何在所有窗口中的所有缓冲区中获取源?vimrc
:windo so~/.vimrc
vimrc
出于某种原因,如果我:bufdo so~/.vimrc | :windo so~/.vimrc
在非活动窗口中更改活动缓冲区。
示例:如果我set number
在我的 . vimrc
,我希望所有窗口中的所有缓冲区都影响更改。
解决方案可能是这样的:
for window in windowlist
execute 'bufdo so~/.vimrc'
我使用vim 8.2。
请注意:我确实尝试了你们建议的所有命令,但似乎事情还不够清楚。所有包含:tabdo
:windo
:bufdo
或组合它们的命令都不能正常工作。请注意,这与更改 vimrc 并使用这些命令链(如:tabdo bufdo so~/.vimrc
. 例如,对活动窗口:windo bufdo set number
中set number
的所有缓冲区(活动或隐藏)执行,但在非活动窗口上仅对set number
活动缓冲区(窗口中显示的缓冲区)执行或:tabdo windo set number
仅在每个窗口set number
中的活动缓冲区中执行,这意味着隐藏缓冲区获胜'没有得到行号。我什至在r/vim上发了一篇关于这个问题的reddit 帖子 并制作了一个关于它的视频,但我不知道为什么没有人明白我所说的。老实说,尽管它很简单,但我认为这个问题不会被其他人解决。
解决方案
在所有缓冲区和所有窗口中应用:
:windo bufdo set number
如果您有标签,来自:tabe
、:tabf
和:tab
朋友。只需tabdo
像这样添加:
:tabdo windo bufdo set number
我建议不要vimrc
像这样采购你。如果您想要快速设置,只需使用set
命令和朋友。
虽然我同意大多数关于采购您的vimrc
. 我确实相信 source 命令的用途。特别是批量修复。我从来没有尝试过使用
:windo
这个,我主要使用:argdo
and :cdo
。因为我对需要应用的文件有更细粒度的控制。
批量修复在大型代码库上特别有用。例如,您使用:g
,进行修复:v
,:s
并将它们保存在一个名为fix.vim
. 这非常有用,您甚至可以通过命令将宏与这些命令(:g
和:v
)配对:norm
。
:args *.js
然后通过或类似命令(如反引号表达式)更新您的 argslist ,最后执行:argdo source fix.vim
推荐阅读
- django - Django 管理站点重定向到错误的位置
- c# - 一次请求后的 Google Api 方向 OVER_QUERY_LIMIT
- r - 从主列表创建从 A 到 Z 的子列表
- java - 使用 Olingo V4 创建 odata 服务时出错
- sql-server - 将 csv 文件导入 SQL Server DB 时指定文本限定符
- sql - 减去两个带有主键的表
- openssl - Indy 10 客户端证书:多合一 .pem 文件?
- r - 轮廓指数最可靠的估计?
- google-cloud-automl - AutoML Vision:数据集导入需要很长时间并最终失败
- prolog - 在 DCG 之后如何从知识库中生成一些短语?