现在的位置: 首页 > 综合 > 正文

vim 有关斜杠转义的问题

2017年12月21日 ⁄ 综合 ⁄ 共 1679字 ⁄ 字号 评论关闭

以前写过一个命令可以得到如下的编号
select pub_agt_info
s.CORPID    --(1)
, s.AGTNAME    --(2)
, s.AGTSEX    --(3)
, s.AGTBIRTH    --(4)
, s.AGTIDCARD    --(5)
, s.AGTLEVEL    --(6)
, s.AGTBELONG    --(7)
, s.AGTDEPART    --(8)
, s.AGTAREACODE    --(9)
, s.AGTCOMCLE    --(10)
, s.AGTHOMEADDR    --(11)
, s.AGTOFFICEADDR    --(12)
, s.AGTEMAIL    --(13)
, s.AGTREGTIME    --(14)
, s.AGTCANCELTIME    --(15)
, s.AGTCONNECTPHONE    --(16)
, s.AGTSALE    --(17)
, s.AGTAUTHCODE    --(18)
, s.AGTAUTHNUM    --(19)
, s.AGTINNER    --(20)
, s.AGTINFOLOCK    --(21)
, s.REMARK    --(22)
, s.PROVID    --(23)
, s.SMSTYPE    --(24)
, s.PHONETYPE    --(25)
, s.BOSSSYN    --(26)
, s.OID_REGUSER    --(27)
, s.TRANSSTATE    --(28)
, s.USER_BELONG_TYPE    --(29)
, s.PASSWDCHANGESTATE    --(30)
, s.OFFLINE_CONTRACT    --(31)

FROM pub_agt_test s;    --(32)

命令是:vmap ,bh : /$/ s//\='    --('.(line('.')-line("'<")+1).')'/<cr>

现在想改成 //(1)的形式,

如果把上面的命令换成 vmap ,bh : /$/ s//\='    //('.(line('.')-line("'<")+1).')'/<cr> 是不能用的。

换成这样就可以了:

vmap ,bh : /$/ s##\='    //('.(line('.')-line("'<")+1).')'#<cr>

selectpub_agt_info
s.CORPID    //(1)
,s.AGTNAME    //(2)
,s.AGTSEX    //(3)
,s.AGTBIRTH    //(4)
,s.AGTIDCARD    //(5)
,s.AGTLEVEL    //(6)
,s.AGTBELONG    //(7)
,s.AGTDEPART    //(8)
,s.AGTAREACODE    //(9)
,s.AGTCOMCLE    //(10)
,s.AGTHOMEADDR    //(11)
,s.AGTOFFICEADDR    //(12)
,s.AGTEMAIL    //(13)
,s.AGTREGTIME    //(14)
,s.AGTCANCELTIME    //(15)
,s.AGTCONNECTPHONE    //(16)
,s.AGTSALE    //(17)
,s.AGTAUTHCODE    //(18)
,s.AGTAUTHNUM    //(19)
,s.AGTINNER    //(20)
,s.AGTINFOLOCK    //(21)
,s.REMARK    //(22)
,s.PROVID    //(23)
,s.SMSTYPE    //(24)
,s.PHONETYPE    //(25)
,s.BOSSSYN    //(26)
,s.OID_REGUSER    //(27)
,s.TRANSSTATE    //(28)
,s.USER_BELONG_TYPE    //(29)
,s.PASSWDCHANGESTATE    //(30)
,s.OFFLINE_CONTRACT    //(31)
FROMpub_agt_tests;

原因是:

  用#作分割符,这样可以避免和/ 冲突。突然想起这回事来。

抱歉!评论已关闭.