[英]Can vim indent XML without changing the file?
我已經在不離開當前光標位置的情況下閱讀了Vim縮進xml文件和在 Vim中縮進 整個文件 ,但是我想稍微有所不同:
對於那些感興趣的人:我使用xml格式的書籍。 如果文件被更改,通常是通過添加制表符和/或空格來實現的。 這弄亂了我的數據(因為文本本身實際上可能有制表符或空格)。
您有一些選擇:
如果您的XML具有基於Tab的縮進,則可以通過更改'tabstop'
值來改變縮進的外觀。 這根本不影響文件中的物理<Tab>
字符。
您可以在讀取后更改縮進量,並在寫入前不久撤消該操作。 這是將空格減半/加倍的示例:
:autocmd BufReadPost,BufWritePost * %substitute/^\( \+\)\1/\1/e
:autocmd BufWritePre * %substitute/^ \+/&&/e
在Vim中,所有編輯都是在緩沖區(文件的內部表示)上完成的。 只要您不將更改寫入磁盤,文件就不會被更改。
但是,如果您真的不想冒這個風險,請制作副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.