Pisałem funkcję usuwania nadmiaru spacje w pliku:Jak zapisać bieżącą pozycję kursora i załadować ją później w programie Vimscript?
let g:trim_whitespace = 1
function! TrimWhitespace()
if g:trim_whitespace
normal :%s/\s\+$//e
endif
endfunction
Problem jest taki, że pozycja kursora jest ustawiony na [1, 1]
po komendzie substytucyjnego. Nie chcę, aby przesunąć kursor w ogóle, więc starałem się zapisać pozycję kursora i przywrócić go po zmiennika polecenia:
let a:cursor_pos = getpos(".")
normal :%s/\s\+$//e
exec cursor(a:cursor_pos[1], a:cursor_pos[2])
ale nadal dokładnie to samo dzieje się, jakby miał wezwanie do cursor
bez efektu. Jakieś pomysły?
Czy nie wymyśla się na nowo koła dobrego do nauki? :) Dzięki za świetne wyjaśnienie. – Hubro
W porządku (ale możesz/powinnaś wspomnieć, że znasz te inne rozwiązania). Zwróć uwagę, że nie opublikowałem rekomendacji wtyczki, ale wyraźnie zaadresowałem Twój kod, aby pomóc Ci się uczyć. Baw się dobrze! –