如何删除Vim中前两列的引号?

前端之家收集整理的这篇文章主要介绍了如何删除Vim中前两列的引号?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我在文本文件中有以下风格的行:
"12" "34" "some text     "
"56" "78" "some more text"
.
.
.
etc.

我想要删除前两列的引号。使用Vim做什么最好的方式(我目前使用的是gVim)?

我想出如何通过使用可视化模式至少删除每一行的开始报价,然后输入命令’<,'> s!^“!

我想知道是否有一种方法来选择整列文本(一个字符直接放在文件…或多于1个,但在这种情况下,我只需要一个)。如果有可能,那么你可以将x命令(删除字符)应用到整个列。

可以有更好的方法来做到这一点。我正在寻找任何建议。

更新

刚刚和FYI,我结合了几个建议。我的_vimrc文件现在有以下行:

let @q=':%s/"\([0-9]*\)"/\1/g^M'

(注:THE ^ M为CTRLQ输入模拟运行命令后按Enter键)

现在我可以通过@q使用宏来删除文件中两个数字列的所有引号。

Control-V用于块选择。这将让您在同一个字符列中选择内容

看起来你想删除数字上的引号。为了这个用途,

:%s/"\([0-9]*\)"/\1/g

这是一个list of what patterns you can do with vim

还有一种(一种丑陋的)形式,每行限制为4个替换。

:%s/^\( *\)"\([ 0-9]*\)"\([ 0-9]*\)"\([ 0-9]*\)"/\1\2\3\4/g

而且,如果你有sed方便,你也可以从shell尝试这些。

head -4 filename.txt | sed 's/pattern/replacement/g'

这将在文件的前4行尝试你的命令。

原文链接:https://www.f2er.com/bash/387372.html

猜你在找的Bash相关文章