vim - vim中如何限制编辑区域
问题描述
我有一个非常大的文件,只想编辑文件的一部分,比如从 X 行到 Y 行。一种方法是提取文件的那一部分,编辑它并将其替换为原始文件。取而代之的是,在 VIM 中是否可以将所有操作(如搜索)限制在 X 行到 Y 行,并将任何对 X 行以外区域的写入限制到 Y 行。
我知道这:X,Y s/m/r/g
将在 X 行和 Y 行之间进行必要的搜索和替换。但要求是以只有 X、Y 行可以编辑和写入的模式启动 VIM。
解决方案
在这种情况下,专注于缓冲区某些部分的 Emacs 的Narrowing适合该任务。
有一些 Vim 插件,如NrrwRgn和vim-narrow模拟 Emcas 的缩小功能。您可以通过搜索vim narrow
。
通常,通过使用 Vim 插件,您可以直观地选择一个区域并键入提供的键盘映射以将其缩小为暂存缓冲区。您可以在编辑后将其保存回来。
如果您有兴趣,您还可以尝试使用流行的预设配置的 Emacs,例如模仿 Vim 编辑风格的Spacemacs 。
准备就绪后,您可以直观地选择一个区域,然后按C-x n n
缩小范围、编辑该区域,然后再C-x n w
扩大回整个缓冲区。
推荐阅读
- sql - 使用 SQL 查询为 wifi 日志用户事件创建会话 ID
- django - django rest框架过滤序列化器字段
- r - for循环打印列表中文件的尺寸
- flask - 气流插件,启用 RBAC 的蓝图不起作用
- jenkins - 工作限制插件,正则表达式(工作名称)
- python - Django:CharField 的不支持查找“case_exact”或不允许加入该字段
- ios - 如何将 linphone ios 背景颜色白色更改为另一种?
- clojure - Clojure pedestal.io 代码在 IntelliJ 中未解析
- android - 在 Roboelectric 单元测试中忽略与 firebase 相关的异常
- apache-spark - 将 Dataframe 转换为 Json 数组