vim abbr:如何停止生成新行?
在 vimrc 中,如果我这样做
iab YBK \left<\right><Left><Left><Left><Left><Left><Left><Left>
,那么当我输入 YBK
时,我将看到
\left<
_\right>
_
是光标所在的位置。这几乎是我想要的,除了 vim 在光标位置之前自动生成换行符,因为我想要的是
\left< _ \right>
那么,如何避免换行符的麻烦?谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看 surround.vim。我认为你可以用你自己的“开/关”对来扩展它。它已经为多种类型的配对构建了这种行为。两个激发您兴趣的示例:
vS
C-](包裹在{
...}
周围有换行符,并根据文件类型缩进设置进行缩进vS
C-<para
Enter (换行为 <代码>.
(将光标定位在 q 上,按快速
v2eS
C-<para
Enter结果:
Edit
看起来也许您想要相反的方式 - < strong>没有换行符 那么,分别使用
vsEnter 或
vS{
,默认情况下不要插入换行符look at surround.vim. I think you can extend it with your own 'open/close' pairs. It has this behaviour builting for several types of pairs already. Two examples to spark your interest:
vS
C-] (wraps in{
...}
with newlines around it and indenting according to the filetype indent settingsvS
C-<para
Enter (wraps in<para>
...</para>
), example:.
(position cursor on the
q
in quick, pressv2eS
C-<para
EnterResult:
Edit
It appears that maybe you wanted this the other way around - without linebreaks. Well then, use
vs<para
Enter orvS{
respectively, which by default don't insert linebreaks