vim abbr:如何停止生成新行?

发布于 2024-12-11 11:51:05 字数 395 浏览 0 评论 0 原文

在 vimrc 中,如果我这样做

iab YBK \left<\right><Left><Left><Left><Left><Left><Left><Left>

,那么当我输入 YBK 时,我将看到

\left<
_\right>

_ 是光标所在的位置。这几乎是我想要的,除了 vim 在光标位置之前自动生成换行符,因为我想要的是

\left< _ \right>

那么,如何避免换行符的麻烦?谢谢。

in vimrc if I do

iab YBK \left<\right><Left><Left><Left><Left><Left><Left><Left>

then when I type YBK I will have

\left<
_\right>

where _ is the where the cursor stays. This is pretty much what I want except that vim automatically generates a line break before the cursor position, as what I want is

\left< _ \right>

So, how to avoid the nuisance of line break? thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疑心病 2024-12-18 11:51:05

看看 surround.vim。我认为你可以用你自己的“开/关”对来扩展它。它已经为多种类型的配对构建了这种行为。两个激发您兴趣的示例:

  • vSC-](包裹在 { ... }周围有换行符,并根据文件类型缩进设置进行缩进

  • vSC-<paraEnter (换行为 <代码> ...),示例:

.

the quick fox jumped over

(将光标定位在 q 上,按快速 v2eSC-<paraEnter

结果:

the <para>
    quick fox
</para> jumped over

Edit

看起来也许您想要相反的方式 - < strong>没有换行符 那么,分别使用 vsEntervS{,默认情况下不要插入换行符

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:

  • vSC-] (wraps in { ... } with newlines around it and indenting according to the filetype indent settings

  • vSC-<paraEnter (wraps in <para> ... </para>), example:

.

the quick fox jumped over

(position cursor on the q in quick, press v2eSC-<paraEnter

Result:

the <para>
    quick fox
</para> jumped over

Edit

It appears that maybe you wanted this the other way around - without linebreaks. Well then, use vs<paraEnter or vS{ respectively, which by default don't insert linebreaks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文