问题标签 [paredit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - 使用 Paredit 包装现有表达式
我在 Paredit 模式下使用 Emacs 来处理 Lisp 代码。
我正在尝试在 println 中包装一个函数调用:
paredit 中最终发生的事情是这样的:
我无法删除 println 的结束括号并将其移至末尾。
我现在这样做的方式是: 1. 删除函数调用并在 println 中拉出它 2. 不带括号编写 println,直观地选择代码并用括号括起来
这两种方法都很乏味。每当我在 Paredit 中从里到外编写代码时,这似乎都是一个常见问题。任何帮助,将不胜感激
emacs - 如何在 Paredit 模式下删除多余的括号?
我在 Emacs 中使用 Paredit 来编辑 Lisp 代码。如何删除我不小心插入的一对额外的括号?如果没有额外的命令,Paredit 不允许这样做。
((square 5))
进入(square 5)
emacs - Paredit:删除不需要的键绑定
我正在尝试 ParEdit 模式,这不是我想要的方式:它隐藏了原始绑定C-M-F并将其替换为C-M-f. 即它转发 sexp 而不是选择它:| 乍一看,我找不到定义绑定的地方。
有什么办法可以取消这种行为?或者 ParEdit 中用于选择性别的模拟命令是什么?
编辑:
为了让您更好地了解会发生什么,如果我C-h k在 ParEdit 处于活动状态时这样做,那么C-M-S-f这就是我得到的:
我不希望它翻译任何东西,这绝对是不受欢迎的行为。
emacs - 在 Emacs Paredit 中交换括号和方括号
如何在 paredit 模式下定义交换括号和方括号的命令?
vim - 在 Mac OSX 上安装 Paredit vim 插件
我最近在我的 mac osx 上下载了vim 的paredit插件。我将 paredit.vim 放在我的 ~/.vim 目录中。
文档说:
但是,当我打开 vim 并输入一个“(”没有关闭“)”时被插入。我还需要做其他事情吗?
emacs - 为什么我不能更改 paredit 键绑定
我正在尝试仅使用 paredit 中的几个函数,而不加载所有键绑定。查看 paredit.el,我发现唯一的键盘映射是 paredit-mode-map,所以我尝试了这个。
它没有更改键绑定(与 Ch k 一起检查),但变量 paredit-mode-map 已更改。
我也试过
然后打开和关闭paredit,结果相同。
以前,直接更改键盘映射一直对我有用。这里发生了什么?
编辑:
我通过这样做成功地更改了键盘映射:
所以看起来minor-mode-map-alist 是一个用于查找的变量。我确信有更优雅的方法来更改键绑定,但我想更多地了解键绑定在 emacs 中的工作方式。
emacs - slurping第一个表达式时如何避免多余的空格字符
在使用 Paredit 时,我经常会遇到以下情况(管道字符表示光标):
我想bar
用括号括起来,所以我使用paredit-wrap-around
( M- () 来得到这个:
当我想将 bar 放在字符串中时,这同样适用,我可以使用M-"来得到这个:
然而,Clojure 也使用方括号[]
和花括号{}
来表示向量、映射和集合。这些似乎没有 paredit 'wrap around' 命令。所以在这种情况下,例如将 bar 放入向量中,我通常使用[键来创建一个新向量:
后跟一个paredit-forward-slurp-sexp
( C-→</kbd>), which results in:
我想删除之前插入的空格字符bar
。这可能吗?为什么 paredit 在从空表达式转换为包含一项的表达式时会保留空格字符?添加到 S 表达式的第一项不应该总是被推到左括号上吗?
elisp - paredit 模式下 paredit-convolute-sexp 有什么用
它改变
进入
这种转变有什么用?
emacs - 如何在 paredit 中用已经写好的外部形式包装表单
假设我有这个代码
然后我想到我应该用以下形式包装它:
导致此代码:
这是我通常的包装方式。首先,我在要包装的表格之前写了一个不完整的外部表格,如下所示:
然后我按C-)
( paredit-forward-slurp-sexp
) 两次啜饮东西:
然后我(nreverse acc)
在最后添加。
现在我想知道的是,如果我首先像这样编写完整的外部表单模板会怎样?
或者像这样
是否有一个简短的 paredit 或非 paredit 命令序列,我可以按这些命令从头开始完成工作?
我可以移动点,剪切两个要包装的表格,移动点,粘贴表格。但我想知道是否有更方便的方法。
我对我的包装方式很满意,但感觉我可能会错过一些其他巧妙的编辑技巧,这些技巧可以从不同的起点找到。
emacs - paredit-close-round 的组合性质何时有用?
paredit-close-round (通常与 close paren 绑定)结合了两件事:
C-M-- C-M-u
删除一些空格
该函数的文档有这个简单的例子:
我明白为什么C-M-- C-M-u
有用;使用 before 很有用C-x C-e
,我也明白为什么删除这些空格的命令可能很有用,但我不明白为什么有一个将两者结合的命令。必须有一个我缺少的使用场景,它可以解释为什么空间清理功能特别添加到paredit-close-round
而不是添加到其正向对应项paredit-backward-up
。