Saya tahu saya bisa membuka banyak file dengan vim
melakukan sesuatu seperti vim 2011-12*.log
, tetapi bagaimana saya bisa beralih di antara file dan menutup file satu per satu? Juga, bagaimana saya bisa memberi tahu nama file dari file saat ini yang saya edit?
linux
command-line
vim
files
cwd
sumber
sumber
Jawaban:
Pertama-tama, di vim Anda dapat memasukkan :(titik dua) dan kemudian membantu
help
, ala:help
untuk daftar topik bantuan mandiri, termasuk tutorial singkat. Dalam daftar topik, gerakkan kursor Anda di atas topik yang diminati, lalu tekan ctrl]dan topik itu akan dibuka.Tempat yang baik untuk memulai adalah topik pembicaraan
Oke, lanjutkan ke jawaban Anda.
Setelah memulai vim dengan daftar file, Anda dapat pindah ke file berikutnya dengan memasukkan
:next
atau:n
singkatnya.:wnext
kependekan untuk menulis perubahan saat ini dan kemudian pindah ke file berikutnya.Ada juga yang analog
:previous
,:wprevious
dan:Next
. (Perhatikan bahwa:p
adalah istilah untuk:print
. Singkatan The untuk:previous
ini:prev
atau:N
.)Untuk melihat di mana Anda berada dalam daftar file, masukkan
:args
dan file yang sedang diedit akan muncul di[]
(tanda kurung).Contoh:
hasil:
sumber
Anda dapat membuka file lain saat vim terbuka dengan
:tabe filename
dan untuk beralih ke file lain yang Anda ketikkan:tabn
atau:tabp
selanjutnya dan sebelumnya.Pintasan keyboard gT dan gt juga dapat digunakan untuk berganti tab saat Anda tidak berada dalam mode pengeditan (yaitu tidak sedang menyisipkan, mengganti mode dll). Pada beberapa sistem Ctrl+ Alt+ Page Updan Ctrl+ Alt+ Page Downjuga memungkinkan penggantian tab, tetapi ini tidak selalu berhasil (misalnya, itu tidak akan berfungsi di terminal OS X 'di luar kotak').
Dan Anda dapat melihat nama file di bagian atas aplikasi vim.
sumber
vim -p file1 file2
:argadd filename
dan kemudian:next
untuk itu. Demikian juga, Anda dapat menggunakan:argdel filename
untuk menghapus salah satu file di edit.Perintah untuk beralih antar buffer:
:help buffer
untuk mencari informasi lebih lanjutUntuk mengetahui nama file, gunakan Ctrl+ G,
:file
atau:f
sumber
:bw
tutup file haha. Jangan lupa membaca bantuan untuk:bw
tempat yang mengatakan bahwa Anda hanya boleh menggunakannya jika Anda tahu apa yang Anda lakukan. Ini bukan masalah besar, tetapi kecuali jika Anda ingin menghapus semua tanda dan informasi tentang file tersebut, lebih baik gunakan:bd
atau:q
seperti orang normal:bw
jika Anda penasaran: vi.stackexchange.com/questions/2212/…Pilihan lain selain dari jawaban yang diberikan, adalah untuk membagi jendela dengan:
:vsp
untuk perpecahan vertikal. Kemudian gunakanCtrl+W <ARROW_KEYS>
untuk bergerak di panel.sumber
:vs
sebagai gantinya:vsp
Ctrl+W, v
untuk split vertikal danCtrl+W, s
untuk split horizontal.CTRL+W
selama bertahun-tahun dan baru-baru ini saya melakukan banyak pengeditan VI di dalam halaman web. Setiap saat, saya mengetik perintah tanpa berpikir dan ... whammmm ... tab browser GONE! Saya selalu lupa. Saya benar-benar perlu belajar cara pintas baru.sumber
Saya mengajukan pertanyaan serupa di superuser,
"Bagaimana cara menyalin dan menempel antara berbagai jendela bash dan file yang dibuka dengan VI?"
Jawaban atas pertanyaan saya adalah Anda tidak bisa, tetapi Anda dapat membuka dua file dalam satu jendela bash menggunakan
:split
perintah VIM :$ vim file1
, buka file kedua dalam VIM menggunakan:split file2
perintah.$ vim -o file1 file2
dari bash.:q
berhenti dan:q!
memaksa berhenti.Bash saya hitam dan putih, sehingga nama file setiap layar ditata sebagai garis 'terpilih' terbalik dengan nama file yang dikutip di sana.
Woot!
sumber
Saya menemukan metode paling nyaman untuk mengedit banyak file adalah dengan menggunakan tab. Anda dapat membuka banyak file dalam tab terpisah melalui baris perintah seperti ini:
Atau jika Anda sudah memiliki vim terbuka, Anda dapat membuka file baru di tab baru seperti:
Setelah tab terbuka, gunakan
gt
untuk melihat tab berikutnya dangT
untuk melihat tab sebelumnya.Anda juga dapat melompat ke tab pertama dengan
1gt
, tab kedua dengan2gt
, dll.Anda dapat menutup tab menggunakan
:tabc
Akhirnya Anda dapat memindahkan tab saat ini
n
ke lokasi ke:ntabm
manan
nomor mana lebih besar atau sama dengan0
.sumber
argadd ...
akan menambahkan semua file ke args, dan juga ke:ls
/:buffers
dan memungkinkan Anda untuk mengeditnya.Lihat
:h arglsit
&:h argedit
&:h argsd
Juga, Anda dapat melakukan tindakan tertentu hanya pada args with
:argdo ...
, dan Anda dapat memulai dengan args dengan melakukan:argsd*
.sumber
Ada banyak cara untuk melakukannya. Yang pertama, mungkin yang kurang nyaman, adalah menelepon
vim
dengan file yang ingin Anda edit - buat:Ini memanggil dua file dalam dua buffer. Untuk beralih dari file ke file lain, silakan gunakan
:n
dan:N
. Untuk daftar file yang sedang Anda edit,:args
akan melakukan pekerjaan.:help buffer
akan membantu Anda lebih lanjut dalam hal ini.Ini harus menjawab pertanyaan Anda. Tetapi di sini ada informasi lebih lanjut:
Ada cara untuk mengedit file Anda dengan cara yang lebih nyaman dengan membagi layar konsol Anda menggunakan vim . Untuk melakukan ini, buka dua frame dengan
:split
(:sp
) atau:vsplit
(:vs
) saat menggunakan vim . Lalu navigasikan dalam bingkai-bingkai ini dengan menggunakan kombinasi Ctrl+ W> Ctrl+ W. Anda juga dapat menggunakan Ctrl+ W+ panah atau tombol ( H, J, Katau L) sesuai dengan frame berikutnya. Ketika ini selesai, edit file yang Anda inginkan:e file_name
.:help opening-window
akan membantu Anda lebih lanjut dalam hal ini.Sekarang, jika Anda ingin melihat perbedaan antara file, gunakan
-d
argumen atau panggil program vimdiff (sama) dengan file yang sesuai.:help diff
akan membantu Anda lebih lanjut dalam hal ini.Tolong beri tahu saya jika Anda memiliki masalah.
sumber
Saya suka menggunakan split windows - baik horisontal maupun vertikal - untuk mengedit banyak file.
Saya menggunakan tmux untuk mengelola windows itu dengan lebih mudah
https://tmux.github.io/ "Apa itu terminal multiplexer? Ini memungkinkan Anda beralih dengan mudah antara beberapa program dalam satu terminal, melepaskannya (tetap berjalan di latar belakang) dan menyambungkannya kembali ke terminal yang berbeda. Dan lakukan lebih banyak. Lihat manual. "
Contoh: Melihat file atau menjalankan tes di sebelah kanan, mengedit tes dan file sumber di sebelah kiri:
sumber
:e #(filename)
untuk beralih di antara dua file yang dibuka:p
untuk file sebelumnya:n
untuk file selanjutnyasumber