vim下python2的print转python3的方法

之前的代码库里面都是python2的,现在用的是python3.然后就得一个一个改。所有就在vim下面自己尝试了一把,可以修改。这里同时对vim的正则做一个整理。

:set magic
:1,$s/print\ \(.*\)/print\(\1\)/g

上述的执行完成就可以把

print "hello","world"

修改为

print("hello", "world")

vim正则有三种,一种是不加magic的,这种除了$ ^之外都需要加反斜杠。

而你用了magic之后 .*$^就不需要加了。
还有一个

\v very magic的方法,任何元字符都不用加反斜杠\v
\V 则是任何元字符都必须加反斜杠
/\v(a.c){3}$ # 查找行尾的abcaccabc
/\m(a.c){3}$ # 查找行尾的(a,c){3} 
/\V(a.c){3}$ # 查找任意位置的(a,c){3}$
set magic 也可以直接使用\m
\< 匹配单词词首
\> 匹配单词词尾

:g/^\s*$/d 删除只有空白的行
:s/\(\w\+\)\s\+\(\w\+\)/\2\t\1 将 data1 data2 修改为 data2 data1
:%s/\(\w\+\), \(\w\+\)/\2 \1/ 将 Doe, John 修改为 John Doe
:%s/\<id\>/\=line(".") 将各行的 id 字符串替换为行号
:%s/\(^\<\w\+\>\)/\=(line(".")-10) .".". submatch(1) 将每行开头的单词替换为(行号-10).单词的格式,如第11行的word替换成1. word

参考:

https://www.cnblogs.com/penseur/archive/2011/02/25/1964522.html

猜你喜欢

转载自blog.csdn.net/funnyPython/article/details/88420919