6
我寫了一個函數在一個文件中刪除多餘的空格:如何保存當前光標位置並稍後在Vimscript中加載?
let g:trim_whitespace = 1
function! TrimWhitespace()
if g:trim_whitespace
normal :%s/\s\+$//e
endif
endfunction
的問題是,光標位置替換命令後設置爲[1, 1]
。我不希望光標在所有移動,所以我試圖挽救光標位置和替代命令後復位:
let a:cursor_pos = getpos(".")
normal :%s/\s\+$//e
exec cursor(a:cursor_pos[1], a:cursor_pos[2])
但還是同樣的事情發生了,因爲如果調用cursor
了沒有效果。有任何想法嗎?
是不是重新發明輪子好學習? :)謝謝你的一個很好的解釋。 – Hubro
那很好(但你可以/應該?提到你知道那些其他解決方案)。請注意,我並沒有發佈插件建議,而是明確寫出了您的代碼以幫助您學習。玩的開心! –