: '"apostrof diikuti oleh tanda kutip ganda mengarahkan Anda untuk mengubah baris terakhir
Dhiren Hamal
Jawaban:
195
Dari /etc/vim/vimrcfile Ubuntu , contoh ini dikomentari:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
Jika ini tidak berhasil, masalah umum adalah tidak memiliki kepemilikan ~/.viminfofile Anda . Jika demikian, jalankan:
sudo chown user:group ~/.viminfo
di mana pengguna adalah milik Anda usernamedan groupseringkali sama dengan nama pengguna Anda.
Autocmd langsung keluar dari vim doc. Lihat: bantu lompatan posisi terakhir
user55400
19
Jika kutipan tunggal dalam garis kedua dari belakang diubah menjadi backtick, itu akan melompat ke posisi kursor yang sebenarnya, bukan hanya awal dari baris itu:\| exe "normal! g`\"" | endif
u2622
4
Bagian itu chownmemperbaiki masalah bagi saya. Hormat!
slowpoison
2
Akhirnya seseorang menunjukkan bahwa .viminfo saya dimiliki oleh root untuk beberapa alasan! Ini perlu di 100 dokumentasi lain yang saya baca.
Jack
2
Hanya ingin memberi +1 chown user ~/.viminfopenambahan. Saya sudah mencoba mencari tahu ini selama satu jam sekarang dan Anda baru saja menyelamatkan hari saya.
Christopher Reid
48
Jika Anda tidak keberatan bertrading otomatis untuk kesederhanaan, cukup tekan tombol '"(apostrof, diikuti dengan tanda kutip ganda) pada pembukaan file, Anda akan melompat ke tempat Anda sebelumnya. Ini pada dasarnya adalah apa yang dilakukan jawaban @ marcog.
Jika Anda telah menginstal NERDTree, menekan Co dua kali dapat membuka NERDTree di buffer saat ini. Dalam kasus saya, saya kadang-kadang perlu menekan Co hingga lima kali, tetapi akhirnya saya mendapatkan efek yang dijelaskan oleh @MatAff.
ashrasmun
Menekan Ctrl-csekali sudah cukup bagi saya. Selain itu, menekan Ctrl-clebih banyak akan membawa saya lebih jauh ke belakang dalam posisi kursor histroy (bahkan membuka file yang belum dibuka yang relevan). Saya menggunakan Neovim 0.4.2, tetapi pemahaman saya adalah bahwa itu berlaku vimjuga.
T_T
7
Jika Anda mengaktifkan viminfo, sesederhana itu `0 untuk pergi ke posisi file yang terakhir diedit. Anda akan melihat bahwa ini hanya perintah 'pergi untuk menandai';
Memang, Anda nanti dapat melakukan '3 untuk pergi ke lokasi ketiga yang diedit sebelumnya (mungkin dalam file lain), dan kemudian kembali ke yang terakhir dengan `0 lagi
Lihatlah
:marks
untuk melihat lokasi yang diingat. Perhatikan juga bahwa viminfo menyimpan semua jenis barang lainnya (seperti isi register, tanda per file, perintah, dan riwayat pencarian). Kebanyakan orang mengaktifkan ini karena alasan yang jelas
`0 tidak berfungsi untuk saya di vim versi 7.4.1689 di mac. Tapi '0 berhasil. Apakah ini salah ketik dalam jawabannya?
alamoot
@alamoot tidak, lihat vimdoc motion.txt - Periksa karakter apa yang `sebenarnya dihasilkan kunci Anda , atau lakukan:verbose map `
lihat
kamu benar. Menurut vimdoc keduanya benar!
alamoot
6
Ada sebuah plugin bernama vim-lastplace (saya adalah pembuatnya) yang akan membuka file Anda di mana Anda tinggalkan. Ini meningkatkan saran di atas dengan mengabaikan pesan komit karena Anda biasanya mengedit pesan baru dan ingin memulai di bagian atas file pesan komit.
yang dapat Anda lakukan tanpa plugin adalah yang terbaik. bertujuan untuk .vimrc: semakin kecil kode semakin ringan dan lebih cepat
nilon
1
Terkadang ~/.viminfomenjadi hanya-baca atau pengguna Anda tidak memiliki akses ke file. Itu juga bisa menjadi alasan bahwa vim tidak menyimpan posisi kursor Anda ketika Anda menutup file Anda.
Jawaban:
Dari
/etc/vim/vimrc
file Ubuntu , contoh ini dikomentari:Jika ini tidak berhasil, masalah umum adalah tidak memiliki kepemilikan
~/.viminfo
file Anda . Jika demikian, jalankan:di mana pengguna adalah milik Anda
username
dangroup
seringkali sama dengan nama pengguna Anda.sumber
\| exe "normal! g`\"" | endif
chown
memperbaiki masalah bagi saya. Hormat!chown user ~/.viminfo
penambahan. Saya sudah mencoba mencari tahu ini selama satu jam sekarang dan Anda baru saja menyelamatkan hari saya.Jika Anda tidak keberatan bertrading otomatis untuk kesederhanaan, cukup tekan tombol '"(apostrof, diikuti dengan tanda kutip ganda) pada pembukaan file, Anda akan melompat ke tempat Anda sebelumnya. Ini pada dasarnya adalah apa yang dilakukan jawaban @ marcog.
sumber
Anda dapat menempatkan ini di .vimrc Anda :
tampilan akan ditempatkan di $ HOME / .vim / view. Anda mungkin perlu membuat direktori ini.
sumber
Anda dapat memulai vim tanpa menentukan nama file menggunakan
Selanjutnya tekan CTRL + O dua kali untuk pindah ke lokasi terakhir dalam file apa pun yang Anda kerjakan.
sumber
Ctrl-c
sekali sudah cukup bagi saya. Selain itu, menekanCtrl-c
lebih banyak akan membawa saya lebih jauh ke belakang dalam posisi kursor histroy (bahkan membuka file yang belum dibuka yang relevan). Saya menggunakan Neovim 0.4.2, tetapi pemahaman saya adalah bahwa itu berlakuvim
juga.Jika Anda mengaktifkan viminfo, sesederhana itu
`0
untuk pergi ke posisi file yang terakhir diedit. Anda akan melihat bahwa ini hanya perintah 'pergi untuk menandai';Memang, Anda nanti dapat melakukan '3 untuk pergi ke lokasi ketiga yang diedit sebelumnya (mungkin dalam file lain), dan kemudian kembali ke yang terakhir dengan
`0
lagiLihatlah
untuk melihat lokasi yang diingat. Perhatikan juga bahwa viminfo menyimpan semua jenis barang lainnya (seperti isi register, tanda per file, perintah, dan riwayat pencarian). Kebanyakan orang mengaktifkan ini karena alasan yang jelas
sumber
`
sebenarnya dihasilkan kunci Anda , atau lakukan:verbose map `
Ada sebuah plugin bernama vim-lastplace (saya adalah pembuatnya) yang akan membuka file Anda di mana Anda tinggalkan. Ini meningkatkan saran di atas dengan mengabaikan pesan komit karena Anda biasanya mengedit pesan baru dan ingin memulai di bagian atas file pesan komit.
sumber
Terkadang
~/.viminfo
menjadi hanya-baca atau pengguna Anda tidak memiliki akses ke file. Itu juga bisa menjadi alasan bahwa vim tidak menyimpan posisi kursor Anda ketika Anda menutup file Anda.sumber