在emacs中,我希望只能搜索组织模式文件中的"标题".
想法1:仅搜索可见
我可以通过隐藏所有内容来实现这一点,然后只显示轮廓(S-TAB,S-TAB),然后可以搜索所有可见的内容.(在这种情况下,它将是整个内容表) .但是,我如何只搜索可见内容?Cs搜索一切.
想法2:使用
我可以做的正则表达式:
C-c / / //opens regex search
\*.*heading //start with * (escaped), followed by any chars, then heading.
Run Code Online (Sandbox Code Playgroud)
但目前输入所有这些都很麻烦.考虑到我已经开始学习像3小时前的emacs,我能以某种方式自动化吗?
例如,我可以编写一个函数来搜索"*.*ARGUMENT"并将其绑定为热键吗?但仍然有能力像'下一个找到,下一个找到'等...?
用例就是搜索我的笔记.有些像〜7000 +行长,我通常只搜索标题.
[编辑解决方案1]
@ abo-abo的回答对我来说很有用.我现在用helm-org-in-buffer-headings
即,我安装了Melpa:https: //github.com/milkypostman/melpa#usage
然后我从包列表中安装了helm:
M-x package-list-packages
然后我编辑了我的.emacs并绑定了一个热键:
(global-set-key (kbd "C-=") 'helm-org-in-buffer-headings) ;Outline search.
我重新加载了emacs,现在当按下Ctrl + =时会弹出一个可搜索的轮廓,当我输入其他字符时会自动缩小.通常的Cn,Cp按钮用于导航.
谢谢!
[编辑解决方案2] 好奇心得到了我的好处.在享受了头盔搜索之后,我也和worf一起搞砸了.它就像helm(它使用helm)但看起来更好,我可以通过按数字键来选择轮廓的"级别".如果使用的话,我只删除了标题搜索所需的位:
;; ——— WORF Utilities ———————————————————————————————————————————————————————————————
;; https://github.com/abo-abo/worf/blob/master/worf.el
(defun worf--pretty-heading (str lvl)
"Prettify heading STR or level LVL."
(setq str (or str ""))
(setq str (propertize str 'face …Run Code Online (Sandbox Code Playgroud) 在与Google进行的45分钟技术访谈中,我被问到了Leaper Graph问题.我编写了工作代码,但后来拒绝了工作机会,因为我缺乏数据结构知识.我想知道我能做得更好.
问题如下:"给定一个N尺寸的板,并告诉一件可以水平(左或右)和j垂直(向上或向下)的位置(即,有点像国际象棋中的马),可以电路板上的每个地方到达哪个?"
我写了以下算法.它递归地通过标记图表上访问过的所有点来查明板上的每个位置是否可达.如果无法访问,则至少有一个字段为false,该函数将返回false.
static boolean reachable(int i, int j, int n) {
boolean grid[][] = new boolean[n][n];
reachableHelper(0, 0, grid, i, j, n - 1);
for (int x = 0; x < n; x++) {
for (int y = 0; y < n; y++) {
if (!grid[x][y]) {
return false;
}
}
}
return true;
}
static void reachableHelper(int x, int y, boolean[][] grid, int i, int j, int max) {
if (x > max || y > max …Run Code Online (Sandbox Code Playgroud) 我在接受采访时被问到这个问题,但无法弄明白并希望知道答案.
假设我们有一个这样的列表:
1 7 8 6 1 1 5 0
Run Code Online (Sandbox Code Playgroud)
我需要找到一个算法,使它与相邻的数字配对.目标是最大化利益,但只计算对中的第一个数字.
例如,在上面,最佳解决方案是:
{7,8} {6,1} {5,0}
Run Code Online (Sandbox Code Playgroud)
所以当只采取第一个:
7 + 6 + 5 = 18.
Run Code Online (Sandbox Code Playgroud)
我尝试了各种贪婪的解决方案,但他们经常选择{8,6}导致非最佳解决方案.
思考?
我正在使用 gdb (gtk) 调试 C 库。
有一个功能太慢了。我试图找出函数的哪一部分导致了延迟。
我知道一种选择可能是插入手动代码/重新编译到基准代码段,但是有没有办法获取在 gdb 中执行单个步骤 's' 所需的时间?
我使用 emacs/ orgmode 和 helm-google。
当我打开一个页面时,它会在谷歌浏览器中打开它。我希望它在 eww 中打开。(理想情况下甚至有某种方法可以使用不同的热键在 eww/chrome 中打开页面)
我尝试将 var: browser-url-generic 设置为 'eww',但没有成功。
我试过
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "eww")
Run Code Online (Sandbox Code Playgroud)
(按照How to make emacs org-mode open links to fields in Google Chrome?)但没有成功。
我在这篇文章中向 helm-google 的作者询问了这个问题,正在等待回复?
我正在尝试从 Ansible playbook更改非 root Linux 用户的密码。为此,我尝试按照此链接进行操作
按照说明,我可以通过在终端中输入以下代码成功更改非 root 用户的密码。
$ echo -e "your_current_pass\nlinuxpassword\nlinuxpassword" | passwd
Changing password for testuser.
(current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Run Code Online (Sandbox Code Playgroud)
之后,我尝试使用如下所示的 Ansible playbook 自动化代码,
---
- hosts: all
gather_facts: no
tasks:
- name: "Check if user exists"
register: user1_exists
raw: getent passwd {{ ansible_user }}
ignore_errors: true
- name: "Change {{ ansible_user }} password"
raw: echo -e "my_current_pass\nmy_new_pass\nmy_new_pass" | passwd
when: user1_exists|success
Run Code Online (Sandbox Code Playgroud)
我在这里使用Ansible的原始模块 …
我想将 .emacs 保留在 Dropbox 文件夹中,以便在工作和家庭之间同步。
我将 .emacs 移至我的保管箱文件夹,然后(硬)链接它,如下所示:
ln ~/Dropbox/.emacs ~/.emacs
然后,如果我在 emacs 中打开 ~/.emacs,编辑并保存它,它会删除 .emacs 硬链接并用新的 .emacs 覆盖它,因此链接消失了。我有两个单独的副本,一个较新的 ~/.emacs 和一个过时的 ~/Dropbox/.emacs。
我可以编辑 ~/Dropbox/.emacs 文件,但有时 emacs 会自行向 .emacs 写入一些内容(例如自定义变量),然后问题会再次出现。
如何让 emacs 不覆盖该特定文件?或者有没有办法启动 emacs 并告诉它从哪里读取 .emacs?
[编辑已解决]
有人发表了关于使用软符号链接而不是硬链接的评论。这实际上对我有用并解决了问题。但后来发这条评论的人不知为何又删除了。~谢谢你是谁~
在Emacs组织模式中,在议程视图或日志视图中,它显示已关闭和计时的任务.我可以按 v l 下来隐藏它们.但我想隐藏时钟任务并保持关闭的任务.原因是我想要生成关闭任务的报告,但不列出计时任务.
我查看了手册,但找不到.