小编TCS*_*rad的帖子

你在 Vim 中使用过的最喜欢/最高效的宏是什么?

我想知道 vim 专家如何在 vim 中使用宏进行日常编码 - 我有很多我经常使用的自定义快捷方式/映射,但还没有遇到任何关于宏的好主意。

它可能是您以前使用过的一个宏,用于极大地简化任务 - 我只需要有关如何在 vim 中有效地使用此功能的想法!

vim macros keyboard-shortcuts

3
推荐指数
1
解决办法
590
查看次数

VIM:替换当前C/C++函数中所有出现的单词

我要在一些(只有几十个)C函数中替换所有出现的特定宏.由于文件长达数千行,在所有函数中有几个宏实例,我想替换当前放置光标的特定函数中的所有实例.我知道VIM提供导航命令(比如[[转到当前函数的开头,然后%找到匹配的右括号),但我无法弄清楚如何使用它们来提出所需的搜索 - 替换命令.有人可以帮忙吗?

linux vim

3
推荐指数
1
解决办法
780
查看次数

Perl:如何匹配正则表达式中的括号?

我试图从固定格式数据中提取一些字段,如下所示:

G1 = DFF(G2)
Run Code Online (Sandbox Code Playgroud)

假设$ _有上面一行,我想在匹配一个合适的reg exp之后得到G1和G2.我正在使用这个:

if (/(w+)\s*=\s*DFF\((w+)\)/)
{     
    print "$1, $2";
}
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的打印(什么都不打印,这意味着我的模式是错误的).任何人都可以告诉我我做错了什么(请耐心等待,这是我的第一个perl程序!!)

regex perl

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

Linux shell:通过使用预定义的文件/文件夹列表,是否可以使用"find"加速查找文件?

我主要使用tcsh shell在Linux中编程.默认情况下,我的当前目录是我的代码库的根目录 - 我使用"find"找到我有兴趣修改的文件,然后一旦找到显示文件的位置,我就可以在Vim上编辑/修改.

问题是,由于代码库的大小,每当我要求查找显示文件的位置时,完成搜索至少需要4-5秒,这太短而无法用于其他任何内容!所以,由于速率是添加到代码库的新文件非常小,我正在寻找如下方式:

1)生成代码库中所有文件的列表

2)找到只查看那些位置/文件来回答我的查询

我已经看到如何在cscope中打开文件是快速的,因为它存储以前的文件列表.我想使用相同的查找机制,不是来自cscope窗口,而是来自通用cmd行.

有任何想法吗 ?

linux shell find

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

C:分析 .obj 文件的实用程序,以精确字节测量某些函数的大小?

我需要查找几个 C 函数的确切字节大小。任何能够分析由 gcc 编译器生成的 .obj 文件的实用程序的任何建议?

c c++ gcc3 .obj

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

为什么这个Ruby代码没有返回预期的答案?

我正在使用以下方法尝试列出所有数字因子:

def find_factors(n)
  factors = []
  2.upto(n-1) {|x| factors << x if n % x == 0}
end

factor = find_factors(24)
puts factor
Run Code Online (Sandbox Code Playgroud)

它打印出以下内容:

2
Run Code Online (Sandbox Code Playgroud)

而不是因素列表!如果做错了怎么办?

ruby

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

谁能告诉我在哪里可以得到cscope支持的Vim 7.2?

我想使用启用了cscope的vim-不幸的是,工作中的二进制文件没有使用cscope支持进行编译,当我尝试从src进行构建时,由于未安装正确的开发包而导致很多错误。

那么,有没有人提供我可以在cscope支持下预编译的二进制文件的链接?顺便说一句,我正在使用linux。

vim cscope

0
推荐指数
1
解决办法
2277
查看次数

将值赋给C中的非空void*指针的正确方法应该是什么?

我有以下代码:

void funcA(void*   pArg)
{
    STRUCTA abc;
    .
    . // Some processing here
    .

    if (pArg)
       (STRUCTA *)pArg = abc;
}
Run Code Online (Sandbox Code Playgroud)

问题是,这段代码抛出了以下警告:警告:赋值目标不是真正的左值; 这将是一个艰难的错误

如果没有演员阵容,我会再次发出警告,我正试图取消引用无效指针......

由于警告被视为错误,我无法使用此代码 - 但我真的不能使用任何其他指针类型而不是void*作为参数.我缺少一个优雅的解决方案吗?

有没有办法让这项工作?

c pointers casting void-pointers compiler-warnings

0
推荐指数
1
解决办法
396
查看次数

为什么不映射!如果像我期望的那样工作?

当我运行以下代码时:

range = [2,3,4,5,6,7,8,9,10]
range.each {|z| print z, " "}
puts "\n"
range.map! {|y| y /= 3 if y % 3 == 0}
range.each {|z| print z, " "}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

2 3 4 5 6 7 8 9 10
nil 1 nil nil 2 nil nil 3 nil
Run Code Online (Sandbox Code Playgroud)

而我期望第二行输出包含:

2 1 4 5 2 7 8 3 10
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我是否误解了map运算符的方式以及它的相关代码块应该如何工作?

注意:我在C/C++中进行了多年的编程后学习Ruby,这是我一直坚持使用的非工作Ruby程序的最小片段.如果需要,我可以粘贴原始程序我也构建了这个MWE.

ruby

0
推荐指数
1
解决办法
101
查看次数