[vim ] 將匹配的字元往後推至某列

看板Editor (編輯器(vim/emacs))作者 (乖)時間7年前 (2017/11/17 10:08), 編輯推噓1(105)
留言6則, 1人參與, 7年前最新討論串1/1
想問一下各位神人有沒有辦法將每行匹配的字元固定向後推至某列 example. reg [3:0] aaa reg [1:0] bbb reg [2:0] ccc 利用正規表示式?變成 reg [3:0] aaa reg [1:0] bbb reg [2:0] ccc ------------------->︳ 往後推到第N列 不知道正規能不能做到, 希望有大大幫我解個惑, 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.45.103 ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1510884537.A.2C4.html

11/17 16:19, 7年前 , 1F
用 \(...\) 把 reg / [.*] / signal 分別標起來
11/17 16:19, 1F

11/17 16:20, 7年前 , 2F
大概就是 ^\(reg\)\s*\([.*]\)\s*\(.*\)
11/17 16:20, 2F

11/17 16:20, 7年前 , 3F
取代成 \1 \2 \3
11/17 16:20, 3F

11/17 16:21, 7年前 , 4F
但是實務上還要避免後面有 comment ,裡面有 [...]
11/17 16:21, 4F

11/17 16:22, 7年前 , 5F
而且 [...] 的長度不固定,裡面可能有 define / parameter
11/17 16:22, 5F

11/17 16:23, 7年前 , 6F
如果要跟 沒有 [...] 的 signal 一起排版,regexp還要再改
11/17 16:23, 6F
文章代碼(AID): #1Q3aIvB4 (Editor)
文章代碼(AID): #1Q3aIvB4 (Editor)