是否有使用 vim 扩展名复制和粘贴 vs 代码的正常方法?
我尝试将 VIM 寄存器命令映射到我习惯的快捷命令(ctrl + c 用于复制,ctrl + v 用于粘贴),但结果非常奇怪,我不确定如何正确执行此操作。
使用 vim 时,键绑定非常简单,vimrc 文件:
map <C-c> "+y
map <C-v> "+p
Run Code Online (Sandbox Code Playgroud)
现在我尝试通过编辑 json.settings 文件将它们迁移到 vs-code:
{
"vim.visualModeKeyBindings": [
{
"before": ["<C-c>"],
"after": ["\"", "+", "y"]
},
{
"before": ["<C-v>"],
"after": ["\"", "+", "p"]
},
], }
Run Code Online (Sandbox Code Playgroud)
我希望它可以在可视模式和正常模式(用于粘贴)下运行,并且能够使用这些快捷方式从剪贴板复制和粘贴。
如何正确地做到这一点?有没有另一种方法可以做到这一点?
我想初始化一些数组,这些数组是一个结构的成员,通过引用传递给一个函数.感谢任何帮助.
typedef struct Snake_pos
{
char field[10][10];
int Y[10];
int X[10];
}snake_pos;
int main()
{
snake_pos pos1;
pos_init(&pos1);
return 0;
}
void pos_init(snake_pos *pos1)
{
pos1->X={};
pos1->Y={};
pos1->field={};
}
Run Code Online (Sandbox Code Playgroud) 我在某些 file:line 上设置了断点,并且由于有多个这样的文件,这导致 GDB 创建多个断点。
(gdb) b drv.c:2145
Breakpoint 1 at 0xa8b8172: drv.c:2145. (3 locations)
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x0a8b8172 in soc_property_ci_get_str at /lspace/seb/broadcom/src/soc/common/drv.c:2145
1.2 y 0x0a8b81d8 in soc_property_ci_get_str at /lspace/seb/broadcom/src/soc/common/drv.c:2145
1.3 y 0x0aaa364d in soc_dpp_info_config_common_tm at /lspace/seb/broadcom/src/soc/dpp/drv.c:2145
Run Code Online (Sandbox Code Playgroud)
有没有办法从多个断点列表中删除断点?当尝试使用断点的索引删除断点时,它会失败并出现错误。
(gdb) d 1.1
warning: bad breakpoint number at or near '1.1'
Run Code Online (Sandbox Code Playgroud) 我想使用 C 创建一个构造函数。实现这一目标的最简洁方法是什么?
我的尝试:
#include <stdio.h>
struct line {
void (*add_line_ptr)(struct line*, int x, int y);
int x;
int y;
};
void add_line(struct line* lptr, int x, int y)
{
lptr->x = x;
lptr->y = y;
}
int main()
{
struct line line1 = {add_line, 0, 0};
line1.add_line_ptr(&line1, 10, 20);
printf("%d %d\n", line1.x, line1.y);
}
Run Code Online (Sandbox Code Playgroud)
我认为使用line1.add_line(&line1,有点多余 - 因为很明显我想在 line1 上进行操作。有没有办法在不传递指向“对象”(结构)的指针的情况下实现这一点?还是我没想到的其他方式?