在Vim中为所有打开的文件应用选项

rav*_*avi 21 vim vimdiff

我对2个文件做了一个vimdiff.现在,如果我想要包装2个文件,那么我需要:set wrap分别对每个文件应用2次.

有没有什么方法可以set wrap同时应用于它们两个而不运行两次相同的命令?

hol*_*eek 31

windo完全符合你的要求:

:windo set wrap
Run Code Online (Sandbox Code Playgroud)

如果您有多个选项卡,则有一个等效tabdo处理该案例.

:tabdo set wrap
Run Code Online (Sandbox Code Playgroud)

  • 类似地,如果要将选项应用于所有当前缓冲区,则存在`:bufdo`. (3认同)
  • 不*完全*:这会改变所有窗口的换行模式,不仅仅是那些显示差异的窗口.使用`:windo if&diff | setl wrap | endif`仅为diff窗口设置选项. (2认同)
  • @Xavier T.这里不适用:`wrap`是window-local所以你可能会发现意外的行为(`:h local-options`).它还会切换当前缓冲区,特别是在`vimdiff`模式下非常烦人. (2认同)