我正在使用vim-sexp和vim-sexp-mappings-for-regular-people插件来编辑Clojure文件。我不太了解slurp和barf命令的确切功能。
我尝试和他们一起玩,看来他们在相邻表格的开头/结尾插入/删除了表格。那是对的吗?如果不是,则对slurp和barf的正确定义是什么?
最佳答案
使用现代结构代码编辑器之一,进行草率和驳船是必不可少的操作/概念。习惯了它们之后,如果没有这些,我将完全无法编辑代码。一整天坐在我身边的大约20个人写出Clojure,他们所有人都一直在使用这些东西。因此说他们“对轻快的编码员有帮助”是一种机智和礼貌的轻描淡写。
:(动词)
“将项目包含在表达式中围绕该点的一侧”
barf :(动词)
“从表达式中排除围绕该点的表达式中最左边或最右边的项目”
和一些例子。
1 2 (3 4) 5 6
right右:
1 2 (3 4 5) 6
桶右:
1 2 (3 4) 5 6
向左食:
1 (2 3 4) 5 6
左巴夫:
1 2 (3 4) 5 6
然后我们回到了开始的地方。
当我进行介绍paredit的演讲/演示时,我通常只给这两个概念留学生/与会者,因为我觉得它们足以开始获得结构化编辑的好处而不会产生太多影响。一旦您对这些内容感到满意,然后就可以通过学习表达方式(而不是字符方式)向前/向后和向上/向下移动来进行结构导航。
尽管它列出了emacs的快捷键,但我仍然强烈推荐Peter Rincker在回答中提到的动画指南来模仿。