小编Cyc*_*hih的帖子

Vim匹配矩形区域

我想使用正则表达式匹配Vim中的矩形区域,例如:

abcd test1
abcd test2
Run Code Online (Sandbox Code Playgroud)

我想匹配test1,并test2在一次,但不abcd秒.(test1并且test2是不变的,我们不需要考虑[0-9],这只是一个例子)

我希望匹配每列对齐 test1 test2

这个

test1
test2
Run Code Online (Sandbox Code Playgroud)

矩形区域可能出现在任何地方,我不能假设它在"第3列"或类似的东西.

如果它们未对齐,则不匹配.

我试过\1\@<=test1\n\(.*\)\@<=test2但没有运气,因为前瞻打破了一个群体.(来自:help \\@<=)

有没有人知道如何只使用vim-regex?谢谢.


编辑:

一个复杂的例子可能是这个:

aaaaaaaaa
b test1 b
c test2 c
ddddddddd
Run Code Online (Sandbox Code Playgroud)

只匹配test1test2.

使用两个或更多正则表达式是可以接受的(一个用于test1,另一个用于test2?)


EDIT2:

这只是为了好玩,我只是好奇vim可以达到多少,这不是一个严重的问题,它对许多人来说可能是无聊和毫无意义的,对我来说很好,请不要打扰,晚安:)

regex vim

7
推荐指数
1
解决办法
260
查看次数

如何让 valgrind 报告“绝对丢失”发生的“地点”

有没有办法让 valgrind 报告“绝对丢失”发生在“哪里”?

我想要的不是“它分配在哪里”,而是“那块可怜的内存被泄漏到哪里”。

例如,这段代码在f()返回时存在“肯定丢失”的泄漏:

#include <stdlib.h>

void f () {
    void *ptr = malloc(42);
}

int main () {
    f();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但 valgrind 只报告分配的来源:

==9772== HEAP SUMMARY:
==9772==     in use at exit: 42 bytes in 1 blocks
==9772==   total heap usage: 1 allocs, 0 frees, 42 bytes allocated
==9772==
==9772== 42 bytes in 1 blocks are definitely lost in loss record 1 of 1
==9772==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9772==    by 0x40053E: f (test.c:4) …
Run Code Online (Sandbox Code Playgroud)

c valgrind memory-leaks

7
推荐指数
1
解决办法
2226
查看次数

Tmux 条件颜色设置

是否可以设置窗口颜色取决于其他窗口选项?

synchronize-panes启用Windows 后,我不想意外按下C-d,否则所有窗格都将关闭。

所以我想要做的是基于synchronize-panes: (以下配置不起作用,但在状态行上更改窗口颜色)

bind-key S setw synchronize-panes \; \  # toggles the option
           set -w window-status-bg '#{?pane_synchronized,yellow,default}' \; \  # error: bad color
           set -w window-status-current-fg '#{?pane_synchronized,yellow,default}'  # error: bad color
Run Code Online (Sandbox Code Playgroud)

我能想到的最可能的解决方案是使用if-shell,但如果可能的话,我不希望为了读取自身的选项而分叉 shell。


编辑:此if-shell解决方案适用于 tmux 2.7

我的状态栏为青色,如果synchronize-panes启用,青色变为黄色。

bind-key S setw synchronize-panes \; \
           if-shell '[ #{pane_synchronized} -eq 1 ]' \
               'set -w window-status-style fg=black,bg=yellow ; set -w window-status-current-style fg=yellow,bg=black' \
               'set -w window-status-style fg=black,bg=cyan ; set -w …
Run Code Online (Sandbox Code Playgroud)

tmux

4
推荐指数
1
解决办法
1636
查看次数

标签 统计

c ×1

memory-leaks ×1

regex ×1

tmux ×1

valgrind ×1

vim ×1