2013-04-08 98 views

回答

45

這可以很容易地使用dired來完成:

  1. 輸入目錄的dired視圖

  2. 切換到可寫dired模式(wdired-change-to-wdired-mode):CXCQ

  3. 編輯文件名列表就好像它是一個正常的緩衝區(例如使用keybo宏或矩形選擇或查詢替換)。這裏是一個基於正則表達式的解決方案:

    CM-%\(VAR.\)_\(..\)RET\2_\1RET

  4. 完成編輯(wdired-finish-edit):CX抄送抄送

你完成了!

+1

您也可以在沒有WDired的情況下執行此操作,只需使用'm'(或'* s'標記緩衝區中的所有文件)標記需要的文件並運行'%R'即可使用regexp重命名。 – jafrog

+0

如果你有'run-foo.sh','foo.conf'和'init-foo-script'這樣的東西,那麼wdired方法可以更容易地用b/c工作,並且你想用bar替換foo,在緩衝區中進行替換比編寫匹配正確值的正則表達式並正確地替換它更簡單。也就是說,在所描述的情況下,%R似乎好像工作得很好。 – elarson

+0

emacs不能做什麼嗎? –

2

您也可以使用Magnar Sveen的多光標,github link

切換到可寫入dired,選擇要重命名的文件,M-x mc/edit-lines。 這應該創建多個遊標,每個遊標都有自己的殺死歷史記錄。