小编719*_*016的帖子

emacs string-insert-rectangle数字向量?

如何使用emacs string-insert-rectangle操作将数字向量添加到一系列行?例如,我在emacs缓冲区中有一堆文本条目的缩短版本:

element01   8   111111111011010000100000001100101000001111101111011111111000
element01   8   111101101010101001111111111000111110111111011110100101010111
element01   8   111111011001001110111010111111100111010110101011111010110011
element01   8   111111111111111111111111010111101101011101011111000001100000
element01   8   111100111111011111100110110000001011110101000011111011111101
element01   8   111001001011000000011100000101001001100101101011101101011011
element01   8   111011111101101111111111111101101010111110111011111101011011
element01   8   101101111101101111000110111101111010111011101111001101001011
element02   6   110101110101100101100101000111010101110111001001101111111011
element02   6   111001011001001011101110111100111101101011111111111011111101
element02   6   101111100111010111111010010101111101111111101101111011111011
element02   6   111101111111111100111110110111101011111001001101101100111111
element02   6   111111010111101111010011110111001100001000101010111111111101
element02   6   111110111001101111111100111011110000011011100100100111111010
element03   13  110011011111111111101011100111111110011111110100111010011111
element03   13  100011101000111110101101000000000001110110110011110110111101
element03   13  101100011100011111110111110110101101111111110110110100101111
element03   13  111111011110101110101011010111110000010111111011100100011111
element03   13  011100110110110111100101110101111110111100101110010111110011
element03   13  100111111111100100111110110110111111111101011101110110110111
element03   13  101111111111110101110110111011111110111101110110111111111111
element03   13  111110010111110110101111110110111111111110101111111101110011
element03   13  100111111101110110110110111110111010111110110011111111110111
element03   13  110100110111110110110100111010110100110110110110110101111111
element03   13  011111011010111101101001011100111110010111111011111101011010
element03   13  011101111110010000111000000101101010111110100010110110110110 …
Run Code Online (Sandbox Code Playgroud)

emacs text

6
推荐指数
2
解决办法
2955
查看次数

Linux中的路径名查找?

Linus Torvalds在一次演讲中提到Linux中的路径名查找是所有操作系统中最快的,而这种情况可能发生在1000核机器上而没有任何减速.他提到这项工作发生在过去18个月,但我找不到任何关于这一发展细节的参考.有没有文件解释它?

linux history

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

linux gnu less:复制+粘贴时缓冲区中的长行分解

在我的一台Linux机器中,我创建了一个长行并将其管道到gnu,不像这样:

seq -w 1 999 | xargs echo | less
Run Code Online (Sandbox Code Playgroud)

如果我选择从gnu less(版本394)出现的文本,并将其复制+粘贴到其他地方,则将长行分解为多行,每行与终端的宽度一样长,这与我的预期不符.

如果我在不同的Linux盒子(更少的版本444)中做同样的事情,我可以从gnu less缓冲区中选择并将其复制+粘贴到其他地方作为一条长行,这是所需的行为.见图:

在此输入图像描述

粘贴到emacs中的效果,首先是未受影响的效果,下面是期望的效果:

在此输入图像描述

在两个linux框中,如果我使用cat而不是更少并从终端输出中选择,我也可以复制+粘贴一行中的所有内容:

seq -w 1 999 | xargs echo > /tmp/f
cat /tmp/f
Run Code Online (Sandbox Code Playgroud)

相比之下,在两个linux框中,该more命令的行为相反,在选择复制和粘贴时也将长行分解为多行:

seq -w 1 999 | xargs echo > /tmp/f
more /tmp/f
Run Code Online (Sandbox Code Playgroud)

可能会发生什么想法?如何从gnu less缓冲区复制+粘贴,具有我所看到的相同的一致行为cat

bash gnu gnu-coreutils

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

用于mainPanel的Rstudio有光泽的conditionalPanel

我正在尝试创建一个闪亮的网页,它将有两个不同的主面板和侧面板.因此,当在sidebarPanel中选择"Case A"时,我想要一个具有特定tabsetPanel的特定mainPanel,如果我选择"Case B",则会有所不同.阅读完文档后,我陷入了困境:

ui.R:

shinyUI(pageWithSidebar(
  headerPanel("This is a Shiny page"),
  sidebarPanel(
     selectInput(
        "plotType", "Plot Type",
        c("Case A","Case B")
         )
  ),
  mainPanel(
    conditionalPanel(
      condition(input.plotType == 'Case A'),
       tabsetPanel(
         tabPanel("A1",
           textOutput("This is conditionalPanel A1")
                  ),
         tabPanel("A2",
           textOutput("This is conditionalPanel A2")
                  )
         )
     ),
    conditionalPanel(
      condition(input.plotType == 'Case B'),
      tabsetPanel(
        tabPanel("B1",
          textOutput("This is conditionalPanel B1")
                  ),
        tabPanel("B2",
          textOutput("This is conditionalPanel B2")
                  )
      )
    )
  )
))
Run Code Online (Sandbox Code Playgroud)

server.R:

shinyServer(function(input, output) {
})
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Listening on port 50709
Error in tag("div", list(...)) : could not …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

emacs align-regexp与空格而不是制表符

M-x align-regexp在emacs中用来美化我的Perl代码,但默认情况下它使用的是制表符而不是空格,根据Perl评论家的说法,这是不应该做的.

有没有办法改变行为,align-regexp以便填充适当数量的空格而不是标签?

emacs perl prettify

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

R:使用ess-tracebug从emacs调试代码?

我想在emacs中使用R代码的交互式调试,并找到关于ess-tracebug的内容,但无法使其工作.我做了以下事情:

  1. 安装 ess-tracebug
  2. 开始使用ESS执行R脚本 C-c C-n
  3. 设置一个断点,现在如果我尝试做M-c c,说"调试不活动"

这是我添加到我的~/.emacs文件中的内容:

(load "/home/user/ess/ess-5.13/lisp/ess-site")
(ess-toggle-underscore nil)
(add-to-list 'load-path "/home/user/emacs/")
(require 'ess-tracebug)
(add-hook 'ess-post-run-hook 'ess-tracebug t)
(define-key ess-mode-map "\M-]" 'next-error)
(define-key ess-mode-map "\M-[" 'previous-error)
(define-key inferior-ess-mode-map "\M-]" 'next-error-no-select)
(define-key inferior-ess-mode-map "\M-[" 'previous-error-no-select)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

debugging emacs r ess

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

即使在删除时,perl内存也会在哈希中膨胀?

我有一个很长的perl脚本,它从一个散列的文件中缓存一些信息,每隔一段时间(这里,每100000个位置),它会打印该窗口的散列值,然后尝试删除大部分来自散列的内容,除了在下一次迭代中使用的小缓冲区.

我说它试图删除内容,因为我的脚本在内存使用中爆炸,直到它使用所有内存和崩溃.即使看起来delete语句将散列中的键数(参见下面的打印STDERR)减少到只有少量元素,但脚本的内存消耗也会飙升,就好像它没有删除内容一样.如果我注释掉delete语句,它会使用相同数量的内存,唯一的区别是迭代需要更长的时间.看起来删除命令后键的数量减少了,而不是值的数量.

我确保读取和输出结果没有奇怪的缓冲.事实上,如果我只注释掉使用%hash的地方,那么脚本就不会耗尽内存,因此我将其缩小到填充和删除%hash中的条目.

我也尝试使用hashref而不是%hash,同样的情况仍在发生.

怎么会在记忆中爆炸?我错过了这里明显的一切吗?

my %hash;
# while ( Read from input ) {
# Fill hash here and there with: $hash{$this_p}{$this_c}++
# ...
# Then every 100000 entries
 if ( not $pos % 100000 ) {
    print STDERR "pre ", scalar %hash , "\n";
warn total_size(\%hash);
    for my $p ( sort { $a <=> $b } keys %hash ) {
        last if ( $p > $max_possible{$subset} );
        if ( $p + $buffer < $pos ) {
            print $out …
Run Code Online (Sandbox Code Playgroud)

perl hash memory-leaks

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

emacs python 导航 for 循环的开始或结束

在 emacs 中用 python 语言编辑时,如何将光标从 for 循环的开头导航到结尾?

在使用大括号的其他语言中,从大括号位置键入C-M-nC-M-p会将光标移动到循环的末尾或开头。python代码有类似的组合键吗?

示例:从 foo 循环的开头导航到结尾,或者 bar 或 xyz 循环:

for foo in foolist:
    for bar in barlist:
        if foo > 100:
            print "foo large"
        else:
            if bar > 100:
                print "bar large"
            else:
                print "bar small"
    for xyz in xyzlist:
        print "xyz" . xyz
Run Code Online (Sandbox Code Playgroud)

编辑:

我尝试使用下面的代码,从头到尾有效,但从头到尾不起作用,它从 an 的末尾跳转else到相应的末尾if

(define-key python-mode-map "\C-\M-n" 'python-nav-end-of-block)
(define-key python-mode-map "\C-\M-p" 'python-nav-beginning-of-block)
Run Code Online (Sandbox Code Playgroud)

python emacs

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

Google表格根据单元格内容移动光标onEdit触发器

我正在尝试编写Google表格应用程序脚本功能,该功能检查当前活动单元格的内容,将其与另一个单元格的内容进行匹配,然后根据该检查的结果移动光标.

对于此示例的电子表格:https: //docs.google.com/spreadsheets/d/1kpuVT1ZkK0iOSy_nGNPxvXPTFJrX-0JgNmEev6U--5c/edit#gid=0

我希望用户转到D2,输入一个值后跟Tab,然后当活动单元格在E2时,该函数将检查D2中D2中的值是否相同.如果是,请留在E2.然后我们在E2中输入值,然后输入Tab,函数检查它是否与C2相同,如果是,则从F2向下移动并向左移动两次到D3.因此,如果正确输入了所有值,则光标在D,E和F中的单元格之间曲折,如下所示:

在此输入图像描述

我能找到的最接近的是下面的答案,但它涉及每次点击菜单中的方法:

根据给定列中的值移动工作表行

我想这个函数可以在编辑文档开始时触发,然后它继续移动光标直到文档完成,此时函数可以停止.

有任何想法吗?

编辑:到目前为止我尝试过:

我已设法将位置更改为硬编码位置'D3'并创建一个功能,使用这些功能向下移动一个:

function onOpen() {
  var m = SpreadsheetApp.getUi().createMenu('Move');
  m.addItem('Move to D3', 'move').addToUi();
  m.addItem('Move to one below', 'move2').addToUi();
  m.addItem('Move down left', 'move_down_left').addToUi();
}

function move() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();
  var range = s.getRange('D3');
  s.setActiveRange(range);  
}

function move2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getActiveSheet();
  var r = s.getActiveRange();
  var c = r.getCell(1,1);
  var target = s.getRange(c.getRow() + 1, c.getColumn());
  s.setActiveRange(target);
}

function move_down_left() …
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script

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

如何重新连接到 docker logs --follow 日志文件被删除的位置

我有一个在磁盘空间有限的小型 AWS 实例中运行的 docker 容器。日志越来越大,所以我使用下面的命令来删除不断增长的日志文件:

sudo -s -H
find /var -name "*json.log" | grep docker | xargs -r rm
journalctl --vacuum-size=50M
Run Code Online (Sandbox Code Playgroud)

现在我想看看正在运行的 docker 容器之一的行为是什么,但它声称日志文件已经消失(来自rm上面的命令):

ubuntu@x-y-z:~$ docker logs --follow name_of_running_docker_1
error from daemon in stream: Error grabbing logs: open /var/lib/docker/containers/d9562d25787aaf3af2a2bb7fd4bf00994f2fa1a4904979972adf817ea8fa57c3/d9562d25787aaf3af2a2bb7fd4bf00994f2fa1a4904979972adf817ea8fa57c3-json.log: no such file or directory
Run Code Online (Sandbox Code Playgroud)

我希望能够再次看到正在运行的容器中发生了什么,所以我尝试了:

sudo touch /var/lib/docker/containers/d9562d25787aaf3af2a2bb7fd4bf00994f2fa1a4904979972adf817ea8fa57c3/d9562d25787aaf3af2a2bb7fd4bf00994f2fa1a4904979972adf817ea8fa57c3-json.log
Run Code Online (Sandbox Code Playgroud)

再一次docker follow,但是在与应该生成日志的软件进行交互时,我可以看到什么也没有发生。

有没有办法在不杀死(重新启动)容器的情况下再次将打印保存到日志文件中?

logging amazon-web-services docker

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