c - 替换 Vim 中的项目而不替换旧的替换项目

标签 c linux ubuntu vim vi

我们有一个基本的 C 代码,例如 ;

if (a > b && a < c) {

    min = a ; }

我确实想知道如何将长模式中的“<”更改为“>”,将“>”更改为“<”。

但是当我尝试这样做时,通常“<”s 变成“>”,这不是问题;

但是之后,当我尝试用“<”更改“>”时,它失败了,因为我之前更改的那些再次更改,即,它们变成了之前的

所以需要马上改,但是,比如vim终端操作;

:%s/>/< | %s/</>

不能成功。

我怎样才能解决这个问题?

最佳答案

使用字典映射到它们的替换。试试这个

:%s/\v(\<|\>)/\={'<':'>','>':'<'}[submatch(0)]/g

关于c - 替换 Vim 中的项目而不替换旧的替换项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664284/

相关文章:

c++ - 使用自定义绘图在Win32 API中设置按钮文本颜色

c++ - 使用 Qt5 查找可执行文件

python - 我在端口 8000 :80, 上的 apache+docker 上运行 django 应用程序需要用另一个端口运行另一个应用程序但不工作

perl - mod_perl 并在子进程中继承 STDIN

c - C中Server和Client之间用Ring Buffer(循环缓冲区)进行数据交换

c - 如何向现有可变参数列表添加新参数?

c - gtk+: GtkFileChooserDialog hide some widgets

linux - PhyCORE-AM335x-PD13.1.2 Linux 3.2 上的上次重启检测

c - Termios.h 串行通信。检查设备是否断开

python - 安装应用程序时出现 OpenERP 服务器问题消息 [Errno 13] python 权限