Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 我的替补队员能在某一栏替换吗?(*不*在某列搜索)_Vim - Fatal编程技术网

Vim 我的替补队员能在某一栏替换吗?(*不*在某列搜索)

Vim 我的替补队员能在某一栏替换吗?(*不*在某列搜索),vim,Vim,我有一些文本在一个文件中,我想按摩到一个固定宽度的类型格式 我知道Vim对于所讨论的搜索模式有一个很酷的\%c。有人知道在替换字符串中是否有类似的东西可以使用吗?所以我可以做一些: :%s/ (.*/\%50c\0/ 这将很好地处理第一列之后的所有内容(并将其移到第50列 我想我需要做一个假设,我会把所有的东西移到右边(并用空格填充) 是的,我知道Dr.Chip有一个插件可以进行对齐。这基本上就是我希望做的。我希望有一个:s选项。或者甚至可能是宏 谢谢…您可以使用\=和repeat功能更换焊盘

我有一些文本在一个文件中,我想按摩到一个固定宽度的类型格式

我知道Vim对于所讨论的搜索模式有一个很酷的
\%c
。有人知道在替换字符串中是否有类似的东西可以使用吗?所以我可以做一些:

:%s/ (.*/\%50c\0/
这将很好地处理第一列之后的所有内容(并将其移到第50列

我想我需要做一个假设,我会把所有的东西移到右边(并用空格填充)

是的,我知道Dr.Chip有一个插件可以进行对齐。这基本上就是我希望做的。我希望有一个
:s
选项。或者甚至可能是宏


谢谢…

您可以使用
\=
repeat
功能更换焊盘

:s/(.*/\=repeat(' ', 50 - col('.') + 1).submatch(0)/
有关更多帮助,请参阅:

:h :s\=
:h repeat(
:h col(

您可以使用
\=
repeat
功能更换焊盘

:s/(.*/\=repeat(' ', 50 - col('.') + 1).submatch(0)/
有关更多帮助,请参阅:

:h :s\=
:h repeat(
:h col(

想到的一个解决方案是滥用
:normal
命令和
|
(这是
而不是大写的
i
)动作。例如

:%norm! f(50i <C-v><C-[>d49|

按增加按键的顺序;-)

想到的一个解决方案是滥用
:normal
命令和
|
(这是
而不是大写
i
)动作。例如

:%norm! f(50i <C-v><C-[>d49|

按增加笔划的顺序;-)

您能解释一下
吗?钥匙对我有用。。。嗯,我使用ctrl+q而不是ctrl-v。他们成功了,但我不熟悉序列。我也喜欢其他两个选项。
允许您插入文字字符。在本例中,它是一个转义字符。因此,它允许您从
:norm
命令中退出插入模式。您是否有机会解释
?钥匙对我有用。。。嗯,我使用ctrl+q而不是ctrl-v。他们成功了,但我不熟悉序列。我也喜欢其他两个选项。
允许您插入文字字符。在本例中,它是一个转义字符。因此,它允许您从
:norm
命令中退出插入模式。