相关疑难解决方法(0)

如何使用Vim填充字符x到y列的行

如何使用Vim将具有指定字符的行的剩余部分填充到某列?例如,假设光标位于第四列,我想用破折号填充当前行的其余部分,直到第80列.我该怎么做?

vim

29
推荐指数
3
解决办法
6362
查看次数

仅在VIM中的第一个分隔符上对齐文本

假设我有这个代码:

width: 215px;
height: 22px;
margin-top: 3px;
background-color: white;
border: 1px solid #999999;
Run Code Online (Sandbox Code Playgroud)

我想这样对齐:

width:            215px;
height:           22px;
margin-top:       3px;
background-color: white;
border:           1px solid #999999;
Run Code Online (Sandbox Code Playgroud)

使用Align.vim我可以:Align \s使用空格作为分隔符,但这有两个问题

  1. 最初的缩进加倍
  2. 所有空格都被视为分隔符,因此最后一行被搞砸了

我已经阅读了Align.vim提供的许多选项,但我还没有找到办法.

vim alignment

12
推荐指数
2
解决办法
4815
查看次数

在Vim中为列插入缩进

使用Vim我真的是视觉模式的粉丝,它允许你在列之前插入文本.

在箭头后插入一些间距,

> one
> two
> three
Run Code Online (Sandbox Code Playgroud)

可以通过<Ctrl-V>jjI <Esc>以下方式完成

>   one
>   two
>   three
Run Code Online (Sandbox Code Playgroud)
  • 进入视觉模式<Ctrl-V>,
  • 扩展视觉选择jj,
  • 插入一些空格I__,
  • 将更改传播到块状视觉选择的所有行 <Esc>

现在我有一个需要格式化的文本文件.这就是它的样子:

start() -- xxx
initialize() -- xxx
go() -- xxx
Run Code Online (Sandbox Code Playgroud)

现在我想对齐此部分文本,将其排列成如下列:

start()       -- xxx
initialize()  -- xxx
go()          -- xxx
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不能在每行中插入不同数量的缩进,只是缩进固定数量的空格/制表符是不够的.如何在所有缩进文本必须在同一列对齐的情况下进行缩进?


编辑:我只想出一个相当冗长和笨拙的方法:

  • 找到要缩进的字符串位置:\--,
  • 插入N(我们20说吧)之前,空格:20i <Esc>,
  • 删除这些空间的一部分返回到某列(假设15) d|15,
  • 将这些步骤保存为宏并根据需要重复宏,

......但是非常难看!

vim formatting text

12
推荐指数
1
解决办法
6489
查看次数

使用命令将单词对齐到 vim 中的指定列

如何将整个文件中的单词移动或移动到指定列?例如如下:之前:

123 ABC
112 XYZS
15925 asdf
1111 25asd
1 qwer
Run Code Online (Sandbox Code Playgroud)

后 :

123    ABC
112    XYZS
15925  asdf
1111   25asd
1      qwer
Run Code Online (Sandbox Code Playgroud)

如何使用命令模式来完成它?这里的问题是我们需要将第二个单词移动到指定的列这里指定的列是 8

vim shift

3
推荐指数
1
解决办法
237
查看次数

标签 统计

vim ×4

alignment ×1

formatting ×1

shift ×1

text ×1