Oggi ho deciso di provare vi invece di Vim; Volevo vedere quanto è diverso.
Non ho notato molte differenze. La cosa più grande che ho notato è stato come vi non ha detto -- INSERT --
quando sono entrato in modalità di inserimento e cerano alcune piccole differenze nellinterfaccia.
Questo mi ha fatto chiedere, quali sono le maggiori differenze tra vi e Vim?
Commenti
- Ovviamente non ‘ t stai usando molte funzionalità avanzate di vim. selezione del blocco, ricerca della parola sotto il cursore, incremento del numero sotto il cursore, evidenziazione della sintassi ecc.
- Post correlato – Qual è la differenza tra Vi e Vim?
- Ci sono alcuni ovvi vantaggiosi come il supporto esteso per i tasti. I tasti freccia funzionano al contrario di hjkl.
Answer
In realtà cè un comando di aiuto in Vim per dirti sulle differenze: :help vi_diff
(nota il trattino basso: :help vi_diff
)
Dal sito di Vim “, i più grandi sono:
annullamento illimitato
Puoi eseguire xxxx e annullare ciascuna delle quattro eliminazioni. Quando è stato lultima volta che hai digitato ” jjjj ” e hai scoperto che il tasto BLOC MAIUSC era attivo? Hai accidentalmente unito cinque righe e Vi può annulla solo lultimo comando. In Vim puoi annullare tutti e quattro i comandi ” J ” e recuperare il testo originale.
portabilità
Vi è disponibile solo su Unix. Vim funziona su MS-Windows, Maci ntosh, Amiga, OS / 2, VMS, QNX e altri sistemi. E anche su ogni sistema Unix.
evidenziazione della sintassi
Vim può essere programmato per evidenziare parti del buffer in diversi colori o stili, in base al tipo di file in fase di modifica. Esistono centinaia di set di regole per levidenziazione della sintassi in bundle con Vim.
GUI
Vim funziona bene su una console, ma può essere eseguito in modo nativo in molte GUI, inclusi X Windows, Mac OS e Microsoft Windows. Utilizza widget GUI nativi per lo scorrimento, la divisione dei buffer e il menu. Può anche parlare con gli appunti.
Commenti
Answer
Vim ha molte funzionalità che Vi non ha, anche funzionalità che non sono ovviamente caratteristiche “avanzate”.
In pratica, questo significa che se sei abituato a Vi, probabilmente incontrerai pochissime differenze se inizi a usare Vim (o qualche altro clone di Vi), ma se sei abituato a Vim e se i tuoi “riflessi” includono funzionalità come levidenziazione della modalità visiva, qualsiasi azione chiave che inizia con “g” o “z”, qualsiasi azione di testo con “i” o “a” [ad es. “daw” per eliminare una parola sotto il cursore], navigando con i tasti freccia in modalità inserimento, ecc., scoprirai che quelli non funzionano in Vi.
Cè anche il problema di cosa esattamente stavi usando quando dici di “provare Vi”. Su molti sistemi, “vi” esegue effettivamente Vim, in una modalità in cui si applicano alcune di queste differenze (modalità di visualizzazione predefinita come hai osservato, i tasti freccia non funzionano in modalità di inserimento) e altri no (la modalità visuale ei tasti g / z funzionano ), e alcune funzionalità dipendono da unopzione in fase di compilazione che a volte è disabilitata nel “piccolo Vim” usato per questo (gli oggetti di testo, come “aw” una parola, sono uno di questi). questi se esegui il Vi reale , o se “vi” è qualche altro clone con meno o diverse caratteristiche di Vim, come nvi o VILE.
E, alloscuro lato, mentre “tiny Vim in Vi mode” ovviamente non ha alcuna caratteristica che un Vim completo non ha, ci sono alcune caratteristiche del Vi originale originale che mancano a vim. Queste sono documentate in :help vi-differences
.
Commenti
- ‘ scommetterei fortemente che OP ha effettivamente un ” tiny vim ” vi.
- dici che su molti sistemi la v il comando i esegue effettivamente vim. Quindi come faccio a sapere se sto davvero eseguendo vi o vim?
- @firstpostcommenter Bene, ‘ in pratica sembrerà ancora vim – il ~ sul a sinistra dello schermo sarà di colore blu e il testo dellannuncio della versione potrebbe ancora apparire al centro dello schermo se lo avvii da solo senza specificare un file.Se ‘ sei molto interessato alleditor che esegui, potrebbero essere installati anche altri cloni di vi e il ” originale vi ” è molto raro nelle distribuzioni linux / bsd.
Risposta
La maggior parte dei confronti fornisce più funzionalità a Vim che a vi, ma cè uneccezione. Cera una modalità “aperta” in vi, e Vim non ha questa modalità.
La modalità aperta è una modalità a riga singola che veniva usata in passato con terminali che non avevano elettronica display, cioè telescriventi, stampatori di lettere e simili, e anche con display in cui il cursore rimane solo in basso.
So che cè della documentazione là fuori che dice che Vim simula la modalità aperta, ma la mia esperienza è quella non “t. Perché lho visto usato con vi con i miei occhi, e non lho mai visto farlo. Sembra che Vim usi il comando open
semplicemente per aprire e modificare un file in modalità visuale. Credo che la documentazione ufficiale di Vim dichiari che non supporta la modalità aperta.
Commenti
- I avere ex-vi.sourceforge.net installato, che è un port del Vi originale. Come si avvia questa modalità aperta? La manpage lo menziona quando si parla di
^R
, ma non fornisce altro aiuto.:open some/file
restituisceopen: No such command from open/visual
. - @muru
Q
per inserire ex mode, quindiopen
.z
per mostrare il contesto della riga corrente una volta ‘ in modalità aperta. Per tornare indietro,Q
quindivi
.
Rispondi
Le domande frequenti su Vim hanno un elenco ben formattato: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Estratto dalla FAQ:
- Annulla multilivello
- Schede, più finestre e buffer
- Modalità di inserimento flessibile (può utilizzare tasti freccia in modalità di inserimento)
- Macro
- Modalità visuale (seleziona visivamente sezioni di testo)
- Blocca operatori
- Sistema di guida in linea
- Modifica e cronologia della riga di comando
- Completamento della riga di comando (completamento con tabulazione)
- Scorrimento orizzontale (righe lunghe)
- Miglioramenti di Unicode e internazionalizzazione .
Risposta
Penso che sia molto difficile fare il confronto, a causa dei cambiamenti in vi che hanno successo nel tempo.
Quando ero al college, usavo plain-vanilla vi su un terminale stupido (e anche su un emulatore di terminale su un Mac) che si collegava a mainframe usando il sistema V. Non puoi nemmeno trovarlo altro.
Ma non sono nemmeno sicuro che fosse vero vi. Più o meno in quel periodo cerano molti cloni e port realizzati perché vi non era open-source in quel momento e quando i fornitori creavano cloni, aggiungevano funzionalità che non erano in vi. La storia è un po contorta. Puoi leggerlo su Wikipedia e altrove.
Quindi, se non stavi “usando determinati fornitori / hardware, non stavi usando vi, ma qualcosa come vi.
Ma ricordo che vi (o il clone che stavo usando) era molto minimalista nella sua interfaccia (nessun colore, nessuna etichetta INSERT, nessun annullamento multiplo, ecc.) Eppure potente in quello che poteva effettivamente realizzare. Molto pratico.