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
- gf - Edit file yang ada di bawah kursor di jendela yang sama
- C-Wf - Edit file yang ada di bawah kursor di jendela terpisah
- C-WC-F - Edit file yang ada di bawah kursor di jendela terpisah
- C-Wgf - Edit file yang ada di bawah kursor di halaman tab baru
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.
- C-Wv+ gf- Edit file yang ada di bawah kursor di jendela yang terbagi secara vertikal
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 punya
- gf - Edit file yang ada di bawah kursor di jendela yang sama
- C-Wf - Edit file yang ada di bawah kursor di jendela terpisah
- C-WC-F - Edit file yang ada di bawah kursor di jendela yang terbagi secara vertikal
- C-Wgf - Edit file yang ada di bawah kursor di halaman tab baru
Anda juga dapat pergi ke baris tertentu di file, jika nama file di bawah kursor diikuti oleh nomor baris. Jika Anda memiliki
filename:10
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
- perluas wildchar
- lihat di lebih banyak tempat daripada direktori saat ini, sesuai dengan
'path'
pilihan Anda
- menambahkan ekstensi file ke nama file, sesuai dengan
'suffixesadd'
pilihan Anda
- kalau tidak ubah nama file yang diberikan untuk menemukan kecocokan, sesuai dengan
'includeexpr'
pilihan Anda
Baca 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>
, seperti
:edit <cfile> // edit non-existent file under cursor in current window
:split <cfile> // edit non-existent file under cursor in split window
:vsplit <cfile> // edit non-existent file under cursor in vertical split window
:tabe <cfile> // edit non-existent file under cursor in new tabpage
dan 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.
'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.