Terkadang saya menggunakan tanda untuk menavigasi dengan mudah melalui berbagai file menggunakan mA
, mB
... dan 'A
, 'B
...
Dan kadang-kadang (lebih sering daripada yang ingin saya akui) karena kurangnya perhatian atau apa pun alasannya, saya gunakan m[LETTER]
dengan tanda yang sudah ada yang menghapus nilai sebelumnya ketika saya tidak mau. Sebagian besar waktu ketika saya melakukan itu saya tidak membuka file yang awalnya ditunjuk oleh tanda.
Dalam hal ini ketika saya menyadari bahwa saya melakukan kesalahan, apakah mungkin untuk mendapatkan nilai sebelumnya dari tanda saya selain mengingat ke mana arahnya, menavigasi ke lokasi ini dan mengaturnya lagi?
Saya belum menemukan perintah seperti itu di dokumen jadi jika itu tidak ada apakah ada solusi cerdas yang Anda gunakan dalam situasi ini?
ctrl-o
,ctrl-i
dan:jumps
) dengan memori pribadi Anda :)Jawaban:
Berikut adalah beberapa VimScript dasar yang kira-kira melakukan apa yang Anda inginkan.
Kami mengganti pemetaan
ma
melaluimz
untuk menyimpan nilai saat inig:previous_marks
sebelum memanggil yang aslim
untuk benar-benar menetapkan tanda. Kami juga mendefinisikan<Leader>ma
melalui<Leader>mz
untuk menunjukkan sejarah untuk tanda kata.Anda mungkin ingin menyimpan info dengan
g:previous_marks
cara yang lebih terorganisir, dan menambahkan kemampuan untuk dengan cepat mengembalikan tanda (bukan hanya melihat lokasi), tetapi contoh ini menunjukkan bagaimana hal itu dapat dilakukan, penyesuaian lebih lanjut dibiarkan sebagai latihan kepada pembaca ;-)sumber
Tidak persis apa yang Anda inginkan, tetapi mungkin lebih bermanfaat: plugin tanda tangan . Ini menunjukkan tanda saat ini sebagai tanda di margin selokan, dan memiliki pintasan sederhana untuk mengeditnya. Itu juga dapat menempatkan daftar tanda di daftar lokasi untuk akses cepat.
sumber
Karena masalah sebenarnya tampaknya adalah navigasi antara banyak file / posisi, saya sarankan solusi sederhana ini, yang didasarkan pada plugin Unite :
Perintah ini (yang dapat dipetakan ke sesuatu seperti
<leader>j
misalnya) akan menampilkan daftar lompatan, dengan pratinjau: setiap kali Anda menavigasi daftar denganj
/k
, beberapa baris di sekitar posisi kursor dalam file itu akan ditampilkan.Alternatif:
Tanda default sangat mudah untuk ditimpa: mungkin bookmark yang dinamai akan lebih cocok dengan kasus penggunaan Anda, misalnya dengan plugin simple_bookmarks .
sumber