URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 85914
[ Назад ]

Исходное сообщение
"вопрос по .vimrc "

Отправлено dsfaf , 09-Июл-09 13:12 
Привет всем!
как сделать так чтобы vim при повторном открытии файла устанавливал курсор в то место, где он был последний раз?

Содержание

Сообщения в этом обсуждении
"вопрос по .vimrc "
Отправлено XAnder , 09-Июл-09 16:28 
>как сделать так чтобы vim при повторном открытии файла устанавливал курсор в
>то место, где он был последний раз?

Это делается командой `" (обратный апостроф и кавычки). Подробнее см. :h motion.txt

Про автоматические действия смотрите команду :autocmd


"вопрос по .vimrc "
Отправлено dsfaf , 10-Июл-09 09:18 
Нашёл то, что искал:
в ~/.vimrc имеем:

if has("autocmd")
autocmd BufReadPost * if line("'\"") > 0 && line ("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

всё классно теперь.


"вопрос по .vimrc "
Отправлено XAnder , 10-Июл-09 10:29 
Да, хороший пример. Его, кстати, можно найти в справке как :h last-position-jump. Хотя правильнее было бы last-line-jump, потому что переход получается на начало строки. Чтобы переход был действительно в последнюю позицию, нужно поправить команду в exe с "normal! g'\"" на "normal! g`\"".