Skip to content

Commit de6c59b

Browse files
committed
edit
1 parent 09ac675 commit de6c59b

File tree

1 file changed

+1
-1
lines changed
  • content/blog/vim-is-your-next-prose-editor

1 file changed

+1
-1
lines changed

content/blog/vim-is-your-next-prose-editor/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ tags:
1818

1919
光标移动是 Vim 用户永远的第一课,但我一直觉得很多原生的光标移动动作(Motion)都是为了自然语言文本而设定的。如果说以词为界限的动作——<kbd>w</kbd>(下一个词头)、<kbd>e</kbd>(下一个词尾)、<kbd>b</kbd>(上一个词头)这些——尚可适用于程序代码,那像 <kbd>)</kbd> 这种则完全和编程没有关系了:它指的是跳到**下一句话**的开头!“下一句话”是怎么定义的呢?是以句号、问号、感叹号等常规文法中的标点符号再加空格所隔开的内容。再进一步,我们还有 <kbd>}</kbd>,走到下一个段落的开头,而段落是由空行隔开的内容。<kbd>]]</kbd> 则是走到下一个章节的内容,章节标记就主要是在设置项里匹配确定的了。
2020

21-
在编程中,我们根本没有句子、段落、章节的划分,这些键位就自然没有用了。即便编程当中我们会用空行隔开逻辑上不太相关的代码段,但是空行可以出现在任何逻辑层级(比如函数定义内和函数定义体之后),所以以空行为单位的光标移动,在编程场景下仍旧不是最佳方案。而在自然语言文书中,以空行分段可以说是西文中非常常见的手段,单论数字文件的话它也是在富文本格式出现之前、纯文本西文的主要分段手段。而在 LaTeX、Markdown 这些文本标记语言从西方走向世界之后,空行分段的习俗也广泛传播到了中日韩等语言的数字文档中。(并且即便传统中文强调段前顶头空两格标志分段,在基于 Word 等现代软件的电子文档中,也经常见到段间有额外垂直空间。)不过其中有一个局限是,句子的划分是严格按照指定的拉丁标点符号分的,也就是说在中日韩写作场景下不太适用。
21+
在编程中,我们根本没有句子、段落、章节的划分,这些键位就自然没有用了。即便编程当中我们会用空行隔开逻辑上不太相关的代码段,但是空行可以出现在任何逻辑层级(比如函数定义内和函数定义体之后),所以以空行为单位的光标移动,在编程场景下仍旧不是最佳方案。而在自然语言文书中,以空行分段可以说是西文中非常常见的手段。而在 LaTeX、Markdown 这些文本标记语言从西方走向世界之后,空行分段的习俗也广泛传播到了中日韩等语言的数字文档中。(并且即便传统中文强调段前顶头空两格标志分段,在基于 Word 等现代软件的电子文档中,也经常见到段间有额外垂直空间。)不过其中有一个局限是,Vim 中句子的定义是严格按照指定的拉丁标点符号分的,也就是说在中日韩写作场景下不太适用。
2222

2323
## 文本对象(Text Objects)
2424

0 commit comments

Comments
 (0)