Perintah mode normal gf
pergi ke file dengan jalur kursor saat ini.
Tetapi ia melakukannya di jendela saat ini, menggantikan teks saat ini. Itu berarti Anda harus menavigasi kembali secara eksplisit untuk pergi ke belakang nanti, dan bahwa Anda perlu menulis perubahan di buffer saat ini secara potensial.
Saya yakin itu mungkin dengan membuka file di bawah kursor di tabview baru?
key-bindings
tabbed-user-interface
multiple-files
file-operations
Volker Siegel
sumber
sumber
'hidden'
opsi (set hidden
) memungkinkan Anda bernavigasi dari buffer yang belum disimpan. Bagi saya, ini adalah pendongkrak produktivitas yang sangat besar, dan sangat penting untuk berhenti mengandalkan pemisahan dan tab.Jawaban:
EDIT: Sarankan pemetaan yang simetris dengan baik untuk case split vertikal, karena Vim secara default memiliki dua pemetaan untuk case split horizontal.
Ada beberapa cara untuk mengedit "file di bawah kursor", dan walaupun Anda tentu saja dapat memetakan kembali gfuntuk mengedit dalam tabpage baru seperti @ alexander-myshov menyebutkan, itu berarti Anda memiliki dua cara untuk mengeditnya di tabpage baru, tetapi tidak ada cara untuk mengeditnya. sunting di jendela saat ini, yang terkadang juga ingin Anda lakukan. Tidak sulit untuk menggunakan pemetaan standar, tetapi jika Anda ingin memetakan salah satunya gf, saya sarankan mengganti pemetaan, sehingga Anda tidak kehilangan salah satunya.
Beberapa cara untuk mengedit nama file di bawah kursor adalah
Tidak ada pemetaan standar untuk mengedit file yang ada di bawah kursor dalam pemisahan vertikal, tetapi Anda dapat mencapainya dengan terlebih dahulu membelah jendela secara vertikal dan kemudian mengedit file di bawah kursor di jendela saat ini.
Seperti yang Anda lihat di atas, ada dua pemetaan default untuk mengedit file di bawah kursor dalam pemisahan horizontal. Karena itu Anda dapat memetakan ulang salah satu dari mereka ke keystring di atas, memperluas kelompok peta untuk juga mencakup kasus perpecahan vertikal. Anda dapat mengikat apa pun, tentu saja, tapi ini tampaknya untuk menyelesaikan simetri baik:
nnoremap <C-W><C-F> <C-W>vgf
. Sekarang kamu punyaAnda juga dapat pergi ke baris tertentu di file, jika nama file di bawah kursor diikuti oleh nomor baris. Jika Anda memiliki
Anda dapat mengedit file dan meminta kursor pindah ke baris 10 gF. Persamaannya berlaku untuk C-WFsplit dan C-WgFtabpage. Melengkapi simetri untuk split vertikal tidak sesederhana di sini, tapi saya akan menyarankan bahwa C-WC-S-Fpeta diperoleh dengan
nnoremap <C-W><C-S-F> <C-W>vgF
, meniru Fatau Shift+ fdari default peta sebagai kandidat.Sebagai
:
contoh, Anda dapat menggunakan karakter apa pun yang bukan karakter nama file (lihat:h 'isfname'
).Semua perintah ini datang dengan saus apel, seperti
'path'
pilihan Anda'suffixesadd'
pilihan Anda'includeexpr'
pilihan AndaBaca selengkapnya di
:help gf
dan topik bantuan untuk berbagai opsi ini.Jika nama file di bawah kursor menamai file yang tidak ada, Anda mungkin lebih baik menggunakan perintah edit standar dengan
<cfile>
, sepertidan dengan ini tentu saja Anda dapat menggunakan hal-hal seperti
:spl+10 filename
untuk memindahkan kursor ke garis tertentu atau:tabe+/cologne filename
untuk memindahkan kursor ke kemunculan pola yang pertama.sumber
Cukup gunakan binding untuk ini:
membuka di jendela baru (terpecah):
membuka di tab baru:
periksa juga ini:
:help CTRL-W_gf
sumber
gf
ke hal lain. Bahkannnoremap gf :echo "hello"<CR>
masih membuka file di bawah kursor dalam buffer baru (dan ya, saya bersumber vimrc).