我想使用正则表达式匹配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)
只匹配test1
和test2
.
使用两个或更多正则表达式是可以接受的(一个用于test1
,另一个用于test2
?)
EDIT2:
这只是为了好玩,我只是好奇vim可以达到多少,这不是一个严重的问题,它对许多人来说可能是无聊和毫无意义的,对我来说很好,请不要打扰,晚安:)
有没有办法让 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) 是否可以设置窗口颜色取决于其他窗口选项?
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)