如何根据位置 VIM 插入字符
How to Insert character based on position VIM
到目前为止我所知道的。
'^' 字符是表示行首的特殊搜索字符。
g 表示全局变化。
基于 How to add text at the end of each line in Vim? and How to insert text at beginning of a multi-line selection in vi/Vim
: - enter command mode
% - for every line
s/ - substitute
$ - the end of the line
/ - and change it to
, - a comma
下面有:3个字段:integer,string/alphabetic,integer.
我一直在努力解决以下问题。
在第一个整数值字段后插入逗号 ,
。
为第二个字母字符串插入单引号''
,
插入逗号以将字符串值字段与最后一个整数分隔开
值字段。
(1 a 80
(1 b 50
(2 a 90
(2 b 120
(3 a 200
(3 b 140
(4 a 110
(4 b 430
如果你真的想用Ex,那么
:%s/\((\d\+\)\s\+\(\w\+\)\s\+\(\d\+\)/, '',
然后按回车键。 \(
\)
块是正则表达式组的 vim 正则表达式等价物。要了解有关 vim 正则表达式的更多信息,它与普通正则表达式有很大不同:http://www.vimregex.com/
因为您的数据是对齐的,可视化模式会让这一切变得简单。假设您不想触摸空格,它可能是制表符或空格:
CTRL-v # enter visual mode with cursor on first int in first line
j or down arrow # to the last line/last int
shift-i , ESCAPE # to insert comma and apply to visual range
单引号问题几乎相同,只是按 shift-a 附加尾随单引号。要在末尾添加逗号,select 在任何列结束并点击:
$A,
这将附加到行尾。我还假设这里没有尾随空格,否则它将在末尾。
到目前为止我所知道的。
'^' 字符是表示行首的特殊搜索字符。
g 表示全局变化。
基于 How to add text at the end of each line in Vim? and How to insert text at beginning of a multi-line selection in vi/Vim
: - enter command mode
% - for every line
s/ - substitute
$ - the end of the line
/ - and change it to
, - a comma
下面有:3个字段:integer,string/alphabetic,integer.
我一直在努力解决以下问题。
在第一个整数值字段后插入逗号
,
。为第二个字母字符串插入单引号
''
,插入逗号以将字符串值字段与最后一个整数分隔开 值字段。
(1 a 80
(1 b 50
(2 a 90
(2 b 120
(3 a 200
(3 b 140
(4 a 110
(4 b 430
如果你真的想用Ex,那么
:%s/\((\d\+\)\s\+\(\w\+\)\s\+\(\d\+\)/, '',
然后按回车键。 \(
\)
块是正则表达式组的 vim 正则表达式等价物。要了解有关 vim 正则表达式的更多信息,它与普通正则表达式有很大不同:http://www.vimregex.com/
因为您的数据是对齐的,可视化模式会让这一切变得简单。假设您不想触摸空格,它可能是制表符或空格:
CTRL-v # enter visual mode with cursor on first int in first line
j or down arrow # to the last line/last int
shift-i , ESCAPE # to insert comma and apply to visual range
单引号问题几乎相同,只是按 shift-a 附加尾随单引号。要在末尾添加逗号,select 在任何列结束并点击:
$A,
这将附加到行尾。我还假设这里没有尾随空格,否则它将在末尾。