在vim中缩进两个空格选择(视觉模式)?

发布于 2024-12-12 07:18:05 字数 1179 浏览 1 评论 0原文

假设我有这段代码:

var users = [
  { name: 'TJ', email: '[email protected]' },
  { name: 'Loki', email: '[email protected]' },
  { name: 'Jane', email: '[email protected]' }
  ];

我想选择变量内的三行(在可视模式下)并将其缩进两个空格:

var users = [
    { name: 'TJ', email: '[email protected]' },
    { name: 'Loki', email: '[email protected]' },
    { name: 'Jane', email: '[email protected]' }
  ];

如何在 vim 中实现这一点?

Say I have this code:

var users = [
  { name: 'TJ', email: '[email protected]' },
  { name: 'Loki', email: '[email protected]' },
  { name: 'Jane', email: '[email protected]' }
  ];

I want to select the three lines inside the variable (in visual mode) and indent it two spaces:

var users = [
    { name: 'TJ', email: '[email protected]' },
    { name: 'Loki', email: '[email protected]' },
    { name: 'Jane', email: '[email protected]' }
  ];

How can I accomplish that in vim?

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

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

发布评论

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

评论(4

或十年 2024-12-19 07:18:05

如果您的 sw 为 2,您可以直观地选择三行 (V) 并执行 >。您还可以选择一个空格和三行的列(ctrl-v),点击 s 并将所述空格替换为三个空格,然后点击 esc,所有三行都将受益于这一改进。我确信还有更多方法。通常,您会执行 > 并将 sw 设置为您希望在代码中使用的任何缩进。

Provided your sw is two, you can do visually select three lines (V) and do a >. You can also select column of one space and three lines (ctrl-v), hit s and replace the said space with three spaces, then hit esc and all three lines will benefit from this improvements. And there are more ways I'm sure. Normally, you'd do the > and have your sw set to whatever indentation you want in your code.

断爱 2024-12-19 07:18:05

在视觉模式下选择线条后。输入“:”、“'<,'>”会自动添加,然后输入范数 I 和两个空格(空格键)。

:'<,'>norm I<space><space>

after you select lines in visual mode. enter ":", the "'<,'>" will auto added, then enter norm I and two space(space key).

:'<,'>norm I<space><space>
酒绊 2024-12-19 07:18:05

你的朋友是 :le:ri

:[范围]ri[ght] [宽度] :ri :right  

     将 [范围] 内 [宽度] 列的行右对齐
     (当“textwidth”为 0 时,默认“textwidth”或 80)。 
     {Vi 中没有}

:[范围]le[ft][缩进] :le :左     

       将[范围]内的行左对齐。设置缩进        
       行到 [缩进](默认 0)。 {Vi 中没有}

因此,只需直观地选择您的行,然后执行上述操作之一,例如:

:'<,'>ri 2

:'<,'>le 5

(注意: '<,'> 部分是由 VIM 自动创建的,它是您直观地选择的内容)

Youre friend here are :le and :ri:

:[range]ri[ght] [width]                                 :ri :right  

     Right-align lines in [range] at [width] columns
     (default 'textwidth' or 80 when 'textwidth' is 0). 
     {not in Vi}

:[range]le[ft] [indent]                                 :le :left     

       Left-align lines in [range].  Sets the indent in the        
       lines to [indent] (default 0).  {not in Vi}

Thus just visually select your lines, and then execute one of the aboves like:

:'<,'>ri 2

or

:'<,'>le 5

(Note: the '<,'> part is automatically created by VIM, it's the content that you have visually selected)

醉酒的小男人 2024-12-19 07:18:05

用于在 {} 之间(或在 ()[] 之间)按应有的方式缩进块缩进,我使用 =% 并将光标放在第一个 { (分别为 (, [))。

对于向右缩进 3 行,我使用3>> 将光标置于第一行。

For indenting a block between { and } (or between (), []) the way it should be indented, I use =% with the cursor on the first { (resp. (, [).

For indenting 3 lines to the right, I use 3>> with the cursor on the first line.

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