Clojure的Slurpage和barfage

sip*_*uel 6 vim clojure paredit s-expression

我正在使用vim-sexpvim-sexp-mappings-for-regular-people插件来编辑Clojure文件.我不太明白什么是slurpbarf命令.

我试着和他们一起玩,似乎他们在相邻表格的开头/结尾插入/删除表格.那是对的吗?如果没有,什么是slurpbarf的正确定义?

Art*_*ldt 9

slurping和barfing是使用现代结构代码编辑器的基本操作/概念.在习惯了它们之后,我完全无法在没有这些的情况下编辑代码.在我和他一起写作的大约20个人中,所有人一直都在使用这些.所以说他们"对lisp程序员有帮助"是一种非常机智和礼貌的轻描淡写.

啜泣:(动词)

"将项目包含在表达式周围的表达式的一侧"

barf :(动词)

"从表达式中排除点周围表达式中最左边或最右边的项目"

和一些例子.

1 2 (3 4) 5 6
Run Code Online (Sandbox Code Playgroud)

啜食权:

1 2 (3 4 5) 6
Run Code Online (Sandbox Code Playgroud)

barf right:

1 2 (3 4) 5 6
Run Code Online (Sandbox Code Playgroud)

啜泣左:

1 (2 3 4) 5 6
Run Code Online (Sandbox Code Playgroud)

barf left:

1 2 (3 4) 5 6
Run Code Online (Sandbox Code Playgroud)

我们回到了我们开始的地方.

当我提供介绍paredit的演讲/演讲时,我通常会给学生/与会者留下这两个概念,因为我觉得他们已经足够开始获得结构编辑的好处而不会让人不知所措.一旦你对这些感到满意,那么通过学习按表达式而不是按字符向前/向后和向上/向下移动来继续进行结构导航.

即使它列出了emacs键绑定,我仍然强烈推荐Peter Rincker在他的回答中提到的paredit动画指南.