小编Tal*_*Kit的帖子

如何在emacs中用多行替换搜索?

如何在emacs中用多行代替匹配.

示例: - 用吠叫动物替换"狗"

如下所示

The Dog 
Run Code Online (Sandbox Code Playgroud)

The Barking
animal
Run Code Online (Sandbox Code Playgroud)

我在命令replace-regexp中尝试了\n,emacs会抛出错误,说明在替换文本中无效使用`\'

emacs

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

改进Elisp条件表达式

以下伪代码的elisp代码

if "the emacs version is less than 23.1.x"
do
  something
else
  something-else
Run Code Online (Sandbox Code Playgroud)

写成

(if (or (< emacs-major-version 23)
        (and (= emacs-major-version 23)
             (<= emacs-minor-version 1)))
    (setq color-theme-is-global t)
  (color-theme-initialize))
Run Code Online (Sandbox Code Playgroud)

如何优化上面的代码,以便"emacs-major-version"不会被引用两次.

elisp

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

命令“ git status -u no”也过滤跟踪的文件

我想查看工作目录和索引的状态,而不是未跟踪的文件。

git-status文档http://www.kernel.org/pub/software/scm/git/docs/git-status.html告诉您-u开关将过滤未跟踪的文件。

但是下面的命令

git status -u no
Run Code Online (Sandbox Code Playgroud)

过滤未跟踪的文件,还过滤工作树和索引中跟踪文件的修改。

git

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

在议程视图中匹配属性

我想收集并创建一个包含标题的块,标题只在标题中有"ID"属性.

即要过滤的标题看起来像

* Headline 
   :PROPERTIES:
   :ID: my-id
   :END:
Run Code Online (Sandbox Code Playgroud)

我使用以下代码配置自定义议程命令,该命令不起作用

(setq org-agenda-custom-commands
           '(("c" "MY Agenda"
          ((tags "ID")))))
Run Code Online (Sandbox Code Playgroud)

我已经阅读了组织手册http://orgmode.org/manual/Matching-tags-and-properties.html#Matching-tags-and-properties,但仍然无法弄清楚如何去做.

emacs org-mode

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

获取没有扩展名的文件的绝对路径

要在缓冲区中获取没有扩展名的绝对文件路径,例如/home/alice/hello.cpp- > /home/alice/hello,以下代码可以正常工作

(concat (file-name-directory (buffer-file-name)) (file-name-base (buffer-file-name)))
Run Code Online (Sandbox Code Playgroud)

但它看起来太冗长了.是否有一种优雅的方式或直接的功能?

emacs elisp

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

"如何读取文件"的示例

在GNU-Make手册中,如何制作读取制作文件 https://www.gnu.org/software/make/manual/make.html#Reading-Makefiles部分说

GNU make在两个不同的阶段完成它的工作.在第一阶段,它读取所有makefile,包括makefile等,并内化所有变量及其值,隐式和显式规则,并构建所有目标及其先决条件的依赖关系图.在第二阶段,make使用这些内部结构来确定需要重建的目标,并调用执行此操作所需的规则.

我无法清楚地了解这两个阶段的差异.可能正在寻找一个有助于理解的例子.是否有任何链接或教程阐明了第一阶段和第二阶段到底发生了什么.

makefile gnu-make

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

10个元素的二进制搜索复杂度为0(log 10)= 1,但所需的比较为4

以下集合包含10个元素

{10, 20, 21, 22, 23, 40, 50, 56, 90, 100}
Run Code Online (Sandbox Code Playgroud)

N = 10 O(log 10)= 1

如果必须搜索元素20,则必须执行4次比较操作(即)

1-comparision  10
2-comparision 23 (since mid value of 10 elements)
3-comparision 21 (mid)
4-comparision 20
Run Code Online (Sandbox Code Playgroud)

二进制搜索如何具有O(log N)的复杂性?

algorithm big-o search binary-search data-structures

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

erlang中的c程序exit(0)等效函数调用是什么?

如何在erlang程序中杀死erlang程序?exit/1命令与c语言标准库退出调用的行为不同.

erlang erlang-otp

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

使用 Dumper 将数组的哈希打印为值会导致无限递归

下面的代码会导致无限递归。如果不使用Dumper进行打印,则它会按预期工作。为什么Dumper会导致递归?

use Data::Dumper;

my %hash1 = (
          'key1' => ['val1']
);

while (my ($key, $value) = each %hash1) {
    print Dumper \%hash1;
}
Run Code Online (Sandbox Code Playgroud)

perl hash each

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

如何在不使用中间变量的情况下将哈希转换为数组?

如何在不使用中间变量的情况下临时将哈希转换为数组

例如,在下面的代码中,“@arr”变量是一个存储转换后的哈希值的数组。

my %scientists = (
    "Newton"   => "Isaac",
    "Einstein" => "Albert",
    "Darwin"   => "Charles",
);

my @arr = %scientists;
print $_ . " " foreach @arr; # "Newton Isaac Darwin Charles Einstein Albert"
Run Code Online (Sandbox Code Playgroud)

我并不是想在这里完成任何具体的事情。只是想知道是否可以将哈希转换为没有中间变量的数组

print ref(\@arr); # print array
Run Code Online (Sandbox Code Playgroud)

同样,是否有一个东西可以代替“”,以便以下是可能的

print ref(<syntax>%scientists%<sytax>) # should print array.
Run Code Online (Sandbox Code Playgroud)

perl

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