看板 Editor 關於我們 聯絡資訊
最近在使用Vim-Easy-Align這個Plugin 用途是先用Visual Mode選出一個range 然後按gd<char>,就可以在range內針對該<char>做對齊 但現在現在遇到一個問題,我想把以下的code: test(test) helloworld(helloworld) yo(yo) 變成 test (test ) helloworld(helloworld) yo (yo ) 在原本的模式下,我要做以下四個步驟 1. 選取這三行 2. gd( 對齊左括號 3. 再次選取這三行 4. gd) 對齊右括號 我想問的問題是,vim有沒有辦法透過定義一些類似alias的東西 讓我能把上面四步驟變成兩步驟 1. 選取這三行 2. <some_alias_command> = "gd(" + "gd)" 在網路上找了很久,但不知道要用什麼關鍵字 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.193.248 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1588692979.A.800.html
flu: 2用 :exec "'<,'>normal gd(" |exec "'<,'>normal gd)" 試試? 05/06 03:18
dododavid006: 單次方便用的話用 q<某字母> 錄成 macro 然後用 05/06 09:39
dododavid006: @<剛剛的字母> 播放就行了吧 如果是固定要用的就用 05/06 09:39
dododavid006: noremap 設定成一個按鍵 然後再次選取的動作可以用 05/06 09:40
dododavid006: gv 來選取上次選取的範圍 05/06 09:40
dododavid006: 對了 q<某字母> 是開始錄製 macro 要停再按一次 q 05/06 09:42
hank821017: 成功了!用map的方式把ga(gvga)綁起來即可,感謝樓上 05/06 12:02
hank821017: 兩位讓我學到新東西! 05/06 12:02
hank821017: 阿,另外之前內文有誤,是ga不是gd 05/06 12:03