Apa yang menyebabkan vim tidak mempertahankan histori perintah?

25

Pada distro lain yang saya jalankan, vim mengingat riwayat perintah Anda bahkan di antara sesi; ini sangat berguna ketika melakukan banyak operasi serupa pada file yang berbeda.

Untuk beberapa alasan, itu telah memerah di Ubuntu 12.04, dan saya tidak tahu mengapa. Ini :setinfo saya :

:set
--- Options ---
  background=dark     helplang=en         history=1000      nomodeline   scroll=27           showmatch           ttyfast
  expandtab           hidden              incsearch           ruler      showcmd             softtabstop=4       ttymouse=xterm2
  backspace=indent,eol,start
  fileencoding=utf-8
  fileencodings=ucs-bom,utf-8,default,latin1
  printoptions=paper:letter
  runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
  suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
Bryan Agee
sumber

Jawaban:

38

Periksa keberadaan dan hak untuk ~ / .viminfo. Biasanya hanya itu yang menyimpan riwayat perintah, posisi mengedit file, dll. Salah satu kasus yang mungkin adalah bahwa file ini milik root.

Netch
sumber
1
Itu ada, tetapi menunjukkan MYUSER: MYUSER; Meski begitu, katanya izin ditolak ketika saya mencoba membukanya. Juga, ada ~ / .viminfo.tmp
Bryan Agee
1
Jadi, saya menutup semua contoh Vim, sudo rm'd kedua file di atas, dan biola - bagus untuk pergi. Terima kasih!
Bryan Agee
1
Dalam kasus saya, saya .viminfomemiliki sekitar 1.500 hasil pencarian sejarah .. tetapi ketika saya melakukan q:untuk memunculkan riwayat pencarian sebelumnya hanya menampilkan 700 atau lebih pencarian. Saya menyimpan beberapa riwayat pencarian di riwayat pencarian vim .. jadi saya bisa mengulanginya saat diperlukan. Adakah yang tahu mengapa semua riwayat pencarian ini tidak muncul di q:jendela?
alpha_989
Itu baru saja terjadi pada saya setelah upgrade Ubuntu dari 18,04 ke 18,10 : ~/.viminfodimiliki oleh rootdan ada ~/.viminfo.tmpdimiliki oleh pengguna. Jadi saya tetap dengan: sudo mv ~/.viminfo.tmp ~/.viminfo.
Vít Kotačka