有人能提供Vim命令gqip的详细描述吗?
我的理解是,在正常模式下,命令有人能提供Vim命令gqip的详细描述吗?,vim,neovim,Vim,Neovim,我的理解是,在正常模式下,命令gqip告诉vim使用formatoptions作为规则格式化当前段落,以空格分隔。但是我找不到任何关于命令本身的信息来查看其他类似的可能用例。更具体地说,我想知道的是,如果您将命令gqip分解为g、q、I和p,那么这些单独的组件是如何赋予命令其行为的?gq{motion}(:help gq)格式化{motion}所涵盖的行的格式的 运动通常可以是移动光标的任何命令,在这种情况下,它覆盖了光标初始位置和最终位置之间的所有内容,或“文本对象” :帮助文本对象列出所有文
gqip
告诉vim使用formatoptions
作为规则格式化当前段落,以空格分隔。但是我找不到任何关于命令本身的信息来查看其他类似的可能用例。更具体地说,我想知道的是,如果您将命令gqip
分解为g
、q
、I
和p
,那么这些单独的组件是如何赋予命令其行为的?gq{motion}
(:help gq
)格式化{motion}所涵盖的行的格式的
运动通常可以是移动光标的任何命令,在这种情况下,它覆盖了光标初始位置和最终位置之间的所有内容,或“文本对象”
:帮助文本对象
列出所有文本对象,特别是:
ip“内部段落”,选择[计数]段落(参见
|第|)段)。
例外情况:空行(仅包含空白)
也是一个段落边界。
当在视觉模式下使用时,它是按线条设置的
gq{motion}
(:help gq
)格式化{motion}
所涵盖的行
运动通常可以是移动光标的任何命令,在这种情况下,它覆盖了光标初始位置和最终位置之间的所有内容,或“文本对象”
:帮助文本对象
列出所有文本对象,特别是:
ip“内部段落”,选择[计数]段落(参见
|第|)段)。
例外情况:空行(仅包含空白)
也是一个段落边界。
当在视觉模式下使用时,它是按线条设置的
这个问题说明了一个最大的问题,即依赖从随机来源收集的随机、不连续的信息片段,而不是正确地学习Vim
gqip
实际上是gq
,一个操作符,ip
,一个动作
“操作员”和“运动”的概念在$vimtutor
的第2课中介绍,并在用户手册的第4章中进一步讨论::help 04.1
,而文本对象的概念在同一章中进一步介绍::help 04.8
学习Vim甚至不“像”学习一门语言,而是学习一门语言,用户手册的结构遵循常见的语言教学技巧:开始时,给用户一些基本命令(“删除”、“扬克”、“下一个单词”等,一个词汇表),并演示如何编写它们(语法)影响文件中的文本。我们的想法是从简单开始,逐步引入更多的词汇和语法规则
一旦用户内化了一些词汇和语法,他们就可以轻松地获得新的命令,并立即将它们与以前获得的命令组合成更复杂的“句子”,就像语言学习者一样
还有,FWIW,这里是整个:help 10.7
,它恰好涵盖了gqap
,这很容易推断到任何gq
+运动,这要感谢您之前在第4章中所学的内容:
10.7文本格式
当您键入纯文本时,如果每行的长度为
自动修剪以适应窗口。让这一切在
插入文本时,请设置“文本宽度”选项:
:set textwidth=72
您可能还记得,在示例vimrc文件中,该命令用于
每个文本文件。因此,如果您正在使用该vimrc文件,那么您已经
使用它。要检查“textwidth”的当前值,请执行以下操作:
:set textwidth
现在,行将被打断,最多只包含72个字符。但是当你
在一行的中间插入文本,或者在删除几个单词时,插入行
会变得太长或太短。Vim不会自动重新格式化文本。要告诉Vim设置当前段落的格式:
gqap
这从“gq”命令开始,它是一个操作符。以下是“ap”,
表示“段落”的文本对象。一段与另一段分开
下一段用空行隔开
注:
包含空格的空行不会分隔
段落。这很难注意到
您可以使用任何运动或文本对象来代替“ap”。如果你的段落
如果正确分隔,可以使用此命令格式化整个文件:
gggqG
“gg”带您到第一行,“gq”是格式运算符,“G”是
跳到最后一行的运动
如果您的段落没有明确定义,您可以只设置行的格式
您可以手动选择。将光标移动到要格式化的第一行。
从命令“gqj”开始。这将格式化当前行和下面的行
信息技术如果第一行很短,则将附加下一行中的单词。
如果太长,单词将移到下一行。光标移动到
第二行。现在可以使用“.”重复该命令。继续这样做
直到到达要格式化的文本的末尾
有了
:帮助用户手册
提供的基础知识,gqip
就不会是一个谜了。这个问题说明了依赖从随机来源收集的随机、断开连接的信息而不是正确学习Vim的最大问题之一
gqip
实际上是gq
,一个操作符,ip
,一个动作
“操作员”和“运动”的概念在$vimtutor
的第2课中介绍,并在用户手册的第4章中进一步讨论::help 04.1
,而文本对象的概念在同一章中进一步介绍::help 04.8
学习Vim甚至不“像”学习一门语言,而是学习一门语言,用户手册的结构遵循常见的语言教学技巧:开始时,用户只需掌握一些基本命令