首页 > 解决方案 > vim中如何限制编辑区域

问题描述

我有一个非常大的文件,只想编辑文件的一部分,比如从 X 行到 Y 行。一种方法是提取文件的那一部分,编辑它并将其替换为原始文件。取而代之的是,在 VIM 中是否可以将所有操作(如搜索)限制在 X 行到 Y 行,并将任何对 X 行以外区域的写入限制到 Y 行。

我知道这:X,Y s/m/r/g将在 X 行和 Y 行之间进行必要的搜索和替换。但要求是以只有 X、Y 行可以编辑和写入的模式启动 VIM。

标签: vim

解决方案


在这种情况下,专注于缓冲区某些部分的 Emacs 的Narrowing适合该任务。

有一些 Vim 插件,如NrrwRgnvim-narrow模拟 Emcas 的缩小功能。您可以通过搜索vim narrow

通常,通过使用 Vim 插件,您可以直观地选择一个区域并键入提供的键盘映射以将其缩小为暂存缓冲区。您可以在编辑后将其保存回来。


如果您有兴趣,您还可以尝试使用流行的预设配置的 Emacs,例如模仿 Vim 编辑风格的Spacemacs 。

准备就绪后,您可以直观地选择一个区域,然后按C-x n n缩小范围、编辑该区域,然后再C-x n w扩大回整个缓冲区。


推荐阅读