小编ser*_*rar的帖子

VS Code VIM 扩展复制粘贴

是否有使用 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)

我希望它可以在可视模式和正常模式(用于粘贴)下运行,并且能够使用这些快捷方式从剪贴板复制和粘贴。

如何正确地做到这一点?有没有另一种方法可以做到这一点?

vim visual-studio-code vscodevim

37
推荐指数
2
解决办法
2万
查看次数

如何初始化结构中的数组变量?

我想初始化一些数组,这些数组是一个结构的成员,通过引用传递给一个函数.感谢任何帮助.

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)

c struct

6
推荐指数
1
解决办法
187
查看次数

如何从gdb中的多个断点列表中删除一个断点?

我在某些 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 gdb

5
推荐指数
1
解决办法
2947
查看次数

在 C 中实现构造函数的正确方法

我想使用 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 上进行操作。有没有办法在不传递指向“对象”(结构)的指针的情况下实现这一点?还是我没想到的其他方式?

c oop constructor struct

2
推荐指数
1
解决办法
169
查看次数

标签 统计

c ×3

struct ×2

constructor ×1

gdb ×1

oop ×1

vim ×1

visual-studio-code ×1

vscodevim ×1