我想映射 F5 以使用xmllint --format
格式化当前缓冲区并返回到同一行。只做格式化很容易。
autocmd FileType xml map <F5> :w<CR>:silent %!xmllint --format -<CR>
我回到同一条线上玩了一会儿,从下面剪断它应该很明显我不知道我在做什么(根本不起作用)。
fun! XmlFormat()
let @`\" = line(".")
w<CR>
silent %!xmllint --format -<CR>
normal! g`\"
endfun
autocmd FileType xml map <F5> :call XmlFormat()<CR>
我是否需要将当前行存储在缓冲区中,还是可以使用变量?如何在函数中执行外部命令?最后,跳转到存储在变量中的行号的最佳方法是什么?