Saya sama sekali bukan pengguna daya vim, saya baru mulai memahami gerakan maju dan perintah dengan vim. Tapi ada satu kekurangan yang sepertinya tidak bisa kudapatkan.
Saya tumbuh dengan program grafis untuk menulis kode, tetapi saya baru saja mulai menggunakan vim pada ssh & layar untuk bekerja pada proyek yang cukup besar dengan banyak folder.
Saya ingin tahu apa yang dilakukan master vim untuk bekerja dengan banyak file dengan cepat dan mudah. Pertimbangkan aplikasi rel sebagai contoh. Katakanlah Anda ingin mengedit controller sehingga Anda menjalankan.
vim app/controllers/controller.rb
Tapi kemudian Anda dengan cepat ingin mengubah ke mengedit tampilan atau migrasi db, insting pertama saya adalah :wq
, kembali ke bash untuk menavigasi ke direktori itu dan mulai vim lagi dalam buffer baru.
Ini jelas salah.
Saya telah belajar tentang beberapa hal seperti:
- Clienterver (tapi saya tidak ingin menggunakan X lebih dari ssh dan ini sepertinya satu-satunya cara)
:e
untuk membuka file lain dengan menjelajah, tapi sepertinya saya tidak bisa melakukannya dengan sangat cepat. Tab selesai benar-benar membuat saya tersandung.- Membuka seluruh direktori dan mencari melalui buffer.
- NERDTree menjanjikan, tetapi saya benar-benar ingin menjauh dari representasi grafis untuk terus memaksa saya menguasai navigasi baris perintah
Saya minta maaf karena naif, tetapi saya benar-benar ingin belajar cara yang benar untuk melakukannya meskipun sangat subyektif.
Apa metode Anda, dan apa yang akan Anda rekomendasikan?
rails-type-navigation
dalam dokumentasi , atau:help rails-type-navigation
ketika Anda sudah terinstal).Jawaban:
Dimungkinkan untuk mengatur vim untuk mengedit banyak file tanpa harus keluar sama sekali. Anda menggunakan beberapa buffer dan beralih di antara mereka. Karena Anda menggunakan vim di dalam layar, Anda dapat meletakkan yang berikut di ~ / .vimrc Anda untuk mengaktifkannya.
Pemetaan kunci tersebut memetakan ke tombol Ctrl-Kiri dan Kanan untuk beralih di antara buffer. Tombol F4 memanggil menu yang sama dengan yang ditampilkan GUI. Menekan tab juga sekarang menampilkan sedikit menu untuk memilih penyelesaian ketika tab pers Anda.
sumber
Hah! Saya dulu persis seperti Anda, jadi saya tahu persis dari mana Anda berasal. Bahkan sekarang saya tahu apa yang saya lakukan sampai batas tertentu (saya bukan dewa vim, tapi saya berharap untuk sampai di sana) Saya masih akan sesekali melakukan: wq dan kembali ke cangkang saya.
Lihat ini - ini mungkin membantu Anda. (Ini akan membantu saya juga, karena saya tidak pernah tahu tentang hal ini. Itulah yang luar biasa tentang situs pertukaran stackex - Anda belajar dengan membantu orang lain belajar!)
Inilah beberapa hal yang saya lakukan.
The
:e
perintah. Dari dalam vim, saat mengedit file, Anda dapat melakukan sesuatu seperti:e dir/subdir/otherfile
dan itu akan membukanya di buffer baru, yang berarti Anda akan memiliki dua file terbuka sekaligus.Ctrl-Shift-6
(Tidak tahu nilai ascii yang sebenarnya). Jika Anda memiliki dua buffer terbuka, Anda dapat beralih di antara mereka dalam sekejap dengan toggle ini.bd
- buffer delete. Memungkinkan Anda menghapus buffer.Ini sangat berguna -
:sh
. Jika Anda harus kembali ke shell untuk alasan apa pun (misalnya, untuk melihat direktori dan chmod file), Anda dapat menjalankan perintah shell vim untuk melakukan hal itu. Keluar dari shell membawa Anda kembali ke tempat Anda berada di vim.Dalam kategori yang sama dengan mengetik di atas
:!
dan perintah unix sesudahnya akan menjalankan perintah itu. Coba ini denganls
. (Saya pikir itu juga berfungsi dengan builtin shell, tapi saya tidak yakin.)Itulah yang saya gunakan sepanjang waktu. Ada juga
:n
untuk selanjutnya, dan:p
untuk file sebelumnya, karena Anda dapat memiliki lebih dari dua buffer terbuka dalam vim sekaligus (walaupun saya biasanya tidak melakukan ini).sumber
:sh
,:e
dan manajemen buffer yang tepat, dan segala sesuatunya menjadi seksiCtrl+Z
harus menunda proses (fg
dari shell untuk menampilkannya lagi) - yang merupakan alternatif:sh
.Di situlah Anda mulai menggunakan plugin . Untuk manajemen file (atau buffer) NERD tree dan MiniBufExplorer adalah pilihan umum. Dalam kasus Anda, saya akan google " vim ruby ide " dan mengikuti salah satu dari banyak tutorial yang saya temukan. Saya menggunakan Python dan 3 perintah dalam tutorial ini mengkonfigurasi semua yang saya butuhkan dari Vim.
sumber
Saya juga merekomendasikan menggunakan split windows untuk melihat banyak file sekaligus. Tambahkan beberapa keterampilan dengan Buffer dan manajemen Window dalam VIM, dan Anda akan menjadi ninja VIM dalam waktu singkat.
Untuk dokumentasi yang sebenarnya, saya akan mengarahkan Anda ke Dokumentasi VIM Windows , tetapi saya akan mencoba memberi Anda permulaan di sini.
Mulai VIM dengan 2 (atau lebih) jendela yang terbagi secara horizontal, jendela atas memiliki file1, jendela berikutnya memiliki file2, dll.
Mulai VIM dengan 2 (atau lebih) jendela yang terbagi secara vertikal, jendela paling kiri memiliki file1, jendela berikutnya memiliki file2, dll.
Pindahkan kursor ke jendela yang berbeda:
Sudah mengedit satu file, tetapi ingin membagi jendela dan mengedit file yang berbeda juga:
Untuk split Horisontal dan Vertikal masing-masing.
Ada juga perintah untuk memindahkan windows, mengubah ukurannya, dll.
sumber
Gunakan perintah vi: split untuk membuka jendela edit kedua. split dapat melakukan split horizontal dan vertikal dan lebih dari dua sekaligus. Saya telah membuka 10 file dalam sesi vi yang sama.
sumber