Știu că pot deschide mai multe fișiere cu vim
de a face ceva de genul vim 2011-12*.log
, dar cum pot comuta între fișierele și închideți fișierele unul la un moment dat? De asemenea, cum pot să-I spun pe numele de fișier al fișierului curent care am'm de editare?
Mai întâi de toate, în vim puteți introduce : (colon) și apoi ajuta "ajutor", ala `:ajutor pentru o listă de auto-ajutor teme, inclusiv un scurt tutorial. În lista de subiecte muta cursorul peste subiect de interes și apoi apăsați ctrl] și că subiectul va fi deschis.
Un loc bun pentru a începe ar fi subiectul
|usr_07.txt| Editing more than one file
Ok, pe la răspunsul dumneavoastră.
După pornirea vim cu o listă de fișiere, puteți trece la următorul fișier prin introducerea :next "sau": n
pe scurt.
:wnext
este scurt pentru a scrie schimbările actuale și apoi trece la fișierul următor.
Nu's, de asemenea, un analog :anterioară
, :wprevious "și": Next
. (Rețineți că,: p
este prescurtarea pentru:print. Scurtătura pentru:anterior "este": prev "sau": N
.)
Pentru a vedea unde vă aflați în lista de fișiere intra :args
și fișierul-ului privat în curs de editare va apărea în []
(paranteze).
Exemplu:
vim foo.txt bar.txt
:args
rezultatul:
[foo.txt] bar.txt
puteți deschide un alt dosar, în timp ce vim este deschis cu :tabe nume de fișier și pentru a comuta la alt fișier ce tastați
:tabn "sau": tabp pentru următoare și anterioară în mod corespunzător.
Comenzile rapide de la tastatură gT și gt poate fi de asemenea utilizat pentru a comuta între file, atunci când nu sunteți în modul de editare (de exemplu, nu în a introduce, înlocuiți moduri etc). Pe unele sisteme Ctrl+Alt+Page Up și Ctrl+Alt+Page Down permite, de asemenea, tab-comutare, dar aceasta nu funcționează întotdeauna (de exemplu, nu va't de lucru în OS X terminal 'din cutie').
Și puteți vedea numele fișierului în partea de sus a vim app.
Comenzi pentru a comuta între tampoane:
:bf # Go to first file.
:bl # Go to last file
:bn # Go to next file.
:bp # Go to previous file.
:bw # Close file.
`:ajuta-tampon pentru a afla mai multe informații
Să știi filename folosi Ctrl+G,:file "sau": f
Am pus o întrebare similară la superuser,
"Cum de a copia și lipi între diferite bash windows și fișierele deschise cu VI?"
Răspunsul la întrebarea mea era puteți't, dar puteți deschide două fișiere într-un singur bash fereastra folosind VIM's :split
comanda:
$ vim file1
, a deschis un al doilea dosar în VIM folosind `:split file2 comandă.:q
se închide și :q!
forța închide.Mi bash este negru și alb, astfel încât numele de fișier pentru fiecare ecran este amenajată ca un inversat 'selectat' linia cu numele de fișier citată acolo.
Woot!
Mi se pare cea mai convenabilă metodă de editare mai multe fișiere folosind file. Puteți deschide mai multe fișiere în file separate prin linia de comandă astfel:
vim -p file1.txt file2.txt
Sau, dacă aveți deja vim deschide, aveți posibilitatea să deschideți un fișier nou într-o filă nouă astfel:
:tabe file2.txt
Odată ce ai tab-uri deschise, utilizați " gt "pentru a vizualiza următoarea filă și" gT " pentru a vizualiza fila anterioară.
De asemenea, puteți sări la prima fila cu 1gt, cel de-al doilea tab cu 2gt
, etc.
Puteți închide file folosind :tabc
În cele din urmă puteți muta fila curentă la n 'th locație cu:ntabm
, unde" n "este orice număr mai mare decât sau egală cu "0".
argadd a/b c/d e/f
argadd ...
va adăuga toate fișierele args, și, de asemenea, pentru a e
/ `:tampoane și vă permite să le editați.
Vezi:h arglsit&
:h argedit&
:h argsd`
De asemenea, puteți efectua anumite acțiuni doar pe args cu :argdo ...
, și puteți începe din nou cu args de a face :argsd*
.
Îmi place să folosesc split windows - atât pe orizontală, cât și verticală - pentru a edita mai multe fișiere.
Eu folosesc tmux pentru a gestiona ferestrele alea mai ușor
https://tmux.github.io/ "Ce este un multiplexor terminal? Acesta vă permite să comutați cu ușurință între mai multe programe într-un singur terminal, le desprinde (se păstrează rulează în fundal) și le coasem la un alt terminal. Și de a face mult mai mult. Consultați manualul."
Exemplu: Căutarea în fișiere sau rulează teste pe dreapta, editarea de testare și fișierele sursă pe stânga:
Există o mulțime de a face acest lucru. Primul, poate mai puțin convenabil, este de a apela `vim cu fișierele pe care doriți să o editați - crea:
vim first_file second_file ...
Se solicită două fișiere în două tampoane. Pentru a comuta de la un fișier la altul, vă rugăm să folosiți :n
și :N
. Pentru a lista fișierele de editare, :args
va face treaba. `:ajuta tampon, vă va ajuta și mai mult pe acest lucru.
Acest lucru ar trebui să-ți răspund la întrebare. Dar aici sunt mai multe informații:
Există o modalitate de a edita fișiere într-un mod mai convenabil de divizare consola ecran folosind vim. Pentru a face acest lucru, deschide două rame cu :split
(:sp") sau": vsplit
(:vs
) în timp ce utilizați vim. Apoi navigați în aceste cadre folosind combinația Ctrl + W > Ctrl + W. Puteți folosi, de asemenea, Ctrl + W + săgeată sau tasta (H, J, K sau Nu) corespunzătoare la cadrul următor. Când se face acest lucru, editați fișierul pe care doriți cu :e nume_fișier
. `:ajuta la deschiderea ferestrei, vă va ajuta și mai mult pe acest lucru.
Acum, daca'd place să văd diferențele dintre fișiere, utilizați -d
argument sau sunați la vimdiff program (este la fel) cu fișierele corespunzătoare. :ajuta dif
va ajuta mai mult pe acest lucru.
vim -d first_file second_file ...
Te rog, lasă-mă să știu dacă aveți unele probleme.
:e #(filename)
pentru a comuta între două fișiere deschise
:p
pentru fișierul anterior
:n
pentru următorul fișier