vim son pozisyonu hatırlamıyor

75

Ubuntu LTS 12.04’üm vim editörüdür. Bir dosyayı açarsam, bir paragrafa gider ve vim'i tekrar açar, ardından imleç her zaman dosyanın başına gider.

Bu beklenen davranış değil. Vim bir dosyayı kapattıktan sonra son okuma konumunu nasıl hatırlayabilir?

Ayrıca vi denedim, ancak sonuç aynı.

    
sordu Lunar Mushrooms 28.11.2012 14:07

6 cevap

95

Çözüldü:

/ etc / vim / vimrc

Zaten gerekli özellik içerir. Sadece bunu unutmadan:

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

(Infact, /usr/share/vim/vim73/vimrc_example.vim adresine de başvurabilirsiniz)

    
verilen cevap Lunar Mushrooms 03.12.2012 10:08
56

Aynı sorunu yaşadım ve ev dizinimdeki .viminfo dosyasının yanlış sahipliğe sahip olduğu ortaya çıktı. Kök tarafından sahip olunan: kök.

Dosya sahipliğini kendim değiştirerek sabitlediğimde, dosya konumunu hatırlamak benim için tekrar çalışmaya başladı

    
verilen cevap TikiTavi 26.11.2013 16:36
5

Bence bu wiki gönderme bir çözüm sağlayabilir. Pozisyonu geri getirmenin beklenen davranış olduğuna inanmıyorum. İşte

    
verilen cevap GaryBishop 28.11.2012 14:36
1

Kaldığınız yerden dosyalarınızı açacak vim-lastplace (yazarım) adında bir eklenti var. . Genellikle yeni bir mesaj düzenliyor ve taahhüt mesaj dosyasının en başında başlamak istediğiniz için taahhüt mesajlarını göz ardı ederek yukarıdaki önerileri geliştirir.

    
verilen cevap Greg Dietsche 17.01.2016 04:20
0

Benim durumumda, vi bir sembolik bağlantıdır: /usr/bin/vi -> /etc/alternatives/vi -> /usr/bin/vim.tiny . İkincisinin gerçek vim özellikleri yoktur. 'Vim' paketinin yüklenmesi (synaptic veya apt-get kullanılarak), bu sembolik bağlantı noktasını /usr/bin/vim.basic konumuna getirdi ve bu da sorunu çözdü.

    
verilen cevap Bruno Haible 11.02.2017 21:57
-1

Lunar Mantar çözümlerinde bir hata var. İşte düzeltme:

if has("autocmd")
  " When editing a file, always jump to the last known cursor position.
  " Don't do it when the position is invalid or when inside an event handler
  " (happens when dropping a file on gvim).
  " Also don't do it when the mark is in the first line, that is the default
  " position when opening a file.
  autocmd BufReadPost *
    \ if line("'\"") > 1 && line("'\"") <= line("$") |
    \   exe "normal! g'\"" |
    \ endif

endif
    
verilen cevap Arnaud 29.09.2015 05:01

Etiketlerdeki diğer soruları oku