Bagaimana cara meningkatkan ukuran riwayat cmdline?


11

Saya sudah meletakkan pengaturan berikut di .vimrcfile saya :

set history=1000

Sudah ada di sana untuk sementara, saya bekerja di vim setiap hari, jadi ada banyak perintah yang dijalankan sekarang. Saya tahu dari bantuan vim, bahwa duplikat dan baris perintah yang dipetakan tidak disimpan, dan ia juga mengatakan:

Use the 'history' option to set the number of lines that are remembered
(default: 20).

Saat ini ada sekitar 130 baris dalam sejarah saya ( :hisdan q:sedikit berbeda, yang kedua memiliki sekitar 90 entri), tetapi menurut saya seharusnya ada lebih banyak. Ada beberapa perintah yang hilang, seperti membuka file tertentu atau beberapa perintah substitusi dengan regex yang kompleks. Tidak ada yang digunakan untuk sementara waktu, tetapi saya memiliki ukuran sejarah ini meningkat cukup lama.

Apakah ada batasan lain, yang tidak saya ketahui? Atau mungkin itu bukan cara yang benar untuk meningkatkan ukuran riwayat cmdline?

Jawaban:


12

Sebuah :nilai dalam Anda 'viminfo'pilihan dapat membatasi jumlah perintah bertahan. Lihat :help viminfo-::

: Maximum number of items in the command-line history to be
  saved.  When not included, the value of 'history' is used.

Ini mungkin itu. Bagaimana saya bisa mengubah pengaturan ini? :set viminfo=:1000akan melakukan?
qiubix

1
Itu akan menjadi nilai non-standar. Periksa di :verbose set viminfo?mana ini ditetapkan, dan ubah lokasi itu dengan lebih baik. Karena opsi ini menggunakan seperangkat nilai, yang terbaik adalah menggunakannya :set viminfo-=:42 | set viminfo+=:1000untuk memodifikasinya.
Ingo Karkat

1
jelas saya harus memperluas set nilai menggunakan +=bukan hanya menimpanya. Menggunakan verbose saya mendapat: Last set from ~/.vimrcsetelah beberapa nilai default. Saya tidak memiliki pengaturan viminfoperilaku yang berubah , jadi saya tidak tahu apa yang harus diubah di sana. Saya hanya akan menambahkan baris ini dengan :1000parameter dan menerima jawaban Anda ketika saya melihat peningkatan dalam ukuran histori.
qiubix

Bisakah Anda sedikit mengembangkan jawaban ini untuk menunjukkan bagaimana melakukan ini? Sepertinya :set viminfo+=:1000akan melakukannya, tapi saya tidak yakin saya mengikuti persis mengapa Anda mengurangi 42 dari itu terlebih dahulu.
TankorSmash

1
@TankorSmash: 42 tidak dikurangi; ini bermaksud untuk menghapus :42bagian (42 hanya angka acak, karena angka persis dalam konfigurasi OP tidak diketahui) dari 'viminfo'opsi. Jika Anda tidak memiliki standar yang ada di sana, set viminfo+=:1000memang akan cukup.
Ingo Karkat

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.