我的Vim配置包括set formatoptions = c,q,a.我对以下问题感到非常恼火(|表示光标位置,它的确切位置无关紧要,因为您可能只知道它在此注释行中存在的事实):
" This is a long line which we would like to wrap. However,something sick is go|ing to happen if we hit "gqip" here! if has('win32') || has('win64') set runtimepath^=~/.vim set runtimepath+=~/.vim/after endif
现在我们点击了gqip:
" This is a long line which we would like to wrap. However,something sick is " go|ing to happen if we hit "gqip" here! if has('win32') || has('win64') set runtimepath^=~/.vim set runtimepath+=~/.vim/after endif
它的作用是 – 它实际上将整个事物视为一个段落. (是的,我知道用空行分隔可以防止这种行为,但它无法解决问题!)我希望它确实是:
" This is a long line which we would like to wrap. However,something sick is " go|ing to happen if we hit "gqip" here! if has('win32') || has('win64') set runtimepath^=~/.vim set runtimepath+=~/.vim/after endif
换句话说,如果gq可以以某种方式忘记代码并且只使用注释,那将会很棒.
奖励:如何一次性对整个缓冲区进行格式化(仅包装注释)?因为,理想情况下我想将这些东西移动到一个特殊的格式化钩子来保存文件.
解决方法
使用我的
SameSyntaxMotion plugin,您可以使用ay文本对象来表示光标所在的整个注释块,并使用gqay重新格式化它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。