Vi vs vim, eller er der nogen grund til, at jeg nogensinde vil bruge vi?

Jeg ved lidt om * NIX-teksteditorer (migrerer i øjeblikket fra nano til vim), og efter at have kigget lidt rundt på Unix & Linux SE, har de bemærket, at vi bruges i stedet for “vim” i et rimeligt antal spørgsmål. Jeg ved, at “vim” står for “Vi IMproved”, og med det i tankerne undrer jeg mig over, hvorfor nogen hellere vil bruge vi i stedet for vim. Har vi nogen væsentlig fordel i forhold til vim?

Rediger: Jeg tror, at mit spørgsmål bliver fortolket fejlagtigt. Jeg ved, at vim for det meste er betydeligt mere kraftfuld og komplet med funktioner, så vi er. Hvad jeg vil vide er, om der er mulige tilfælde, hvor vi har en fordel i forhold til vim, såsom mindre hukommelsesforbrug, prævalens på * nix-systemer osv.

Kommentarer

  • Det pæne ved vi er, at du kan forvente, at det skal være på alle POSIX-kompatible systemer.
  • Faktisk inkluderer Ubuntu-standardinstallation vi og ikke vim .. Ubuntu er en af de mest brugervenlige distro btw 😉
  • @amyassin Dette er forkert, inkluderer Ubuntu ligesom de fleste Linux-distributioner vim. vi er bare et symbolsk link, der til sidst peger på vim i standardinstallationen.
  • Mit råd er: Brug Vim, men lær vi ved hjælp af POSIX-specifikationerne til vi . På den måde har du bærbar viden såvel som at kende Vim-udvidelser.
  • @DDK Du savnede ” til sidst ” i min erklæring. ” ls -l / etc / alternativer / vi ” – > ” lrwxrwxrwx 1 rodrod 17 jan. 1 2016 / etc / alternativer / vi – > /usr/bin/vim.tiny”

Svar

vi er (også) en POSIX standard editor . Der er masser af implementeringer, og vim er sandsynligvis den mest populære.

Mens mange traditionelle OSS-kompatible operativsystemer giver vi implementeringer meget tæt på standarden, vim har tilføjet en masse ekstra funktioner, der gør det til et dobbeltkantet sværd.

Selvfølgelig er disse udvidelser normalt designet for at lette redigeringsprocessen og give nyttige funktioner og funktioner. Når du først er vant til nogle af dem (ikke de kosmetiske som syntaksfarvning, men dem, der ændrer redaktørens opførsel), kan du let glemme, at de er specifikke, og ved hjælp af en anden implementering, inklusive dem, der er baseret på den originale BSD kode kan være meget frustrerende. Det modsatte er også sandt.

Dette minder meget om det problem, der sker med scripts, der bruger ikke POSIX-bashismer, der står over for mere ortodokse shellimplementeringer som dash eller ksh.

Svar

Nej vi har ikke enhver væsentlig fordel i forhold til vim snarere er det omvendt. Vim har flere fordele end Vi. Du kan være interesseret i: Hvorfor, åh HVORFOR gør de #? @! nutheads use vi?

Edit læs også: Er det vigtigt at lære VIM at lære?

Kommentarer

  • Yep. Jeg bruger ‘ ikke nogen IDE, fordi de redaktører, de tvinger dig til at bruge, bare ikke er ‘ t Vim.
  • @Keith Jeg bruger både Xcode og Eclipse, og jeg ‘ er stadig i stand til kun at redigere med vi.
  • @Keith SlickEdit har en fantastisk Vim-emulering og IDEA ‘ s kommer tæt på det. Visual Studio har også ViEmu.
  • IntellIJ har også et godt vim-plugin, der tilsidesætter standardeditor ‘ s opførsel.

Svar

Efter at have tilbragt en stor del af mit liv (ekskl. barndom) redigeret komfortabelt med Vim brugte jeg kun en måned på at bruge vi. Dermed indså jeg, at jeg havde været afhængig af Vim for alle mine behov for tekstændring. Før min tur med vi, når jeg skulle erstatte en tekst eller udføre en lignende handling i en stor gruppe af filer, ville jeg bare åbne filerne i Vim og køre en :bufdo kommando , og når jeg skulle indrykke eller formatere nogle filer, ville jeg åbne dem i Vim og bruge kommandoerne Vim “s = og gw Jeg var Vim-afhængig.Efter at have indset, at vi ikke havde disse kommandoer, blev jeg tvunget til at udføre bulk teksttransformationer med sed og lærte meget om andre programmer såsom awk og indent. Selvom jeg skiftede tilbage til at bruge Vim til sidst, var den viden, jeg fik ved at bruge en mindre featured editor, betydelig og har vist sig at være yderst nyttig. Ud over at lære om værktøjer uden for en teksteditor blev jeg også bedre bekendt med vi. Hver gang jeg arbejder på et nyt system eller en server, der ikke har Vim, føler jeg mig meget mere behagelig at bruge vi, end jeg gjorde før min måned lange udflugt.

Også sidste måned installerede jeg Linux på en billig WM8650-tablet og fandt ud af, at der var en mærkbar præstationsforskel mellem Vim og vi, så jeg plejer at bruge vi på tabletten.

Kommentarer

  • Jeg finder ud af, at dette er et almindeligt problem i IT – de værktøjer, der hjælper os, kan også tilsløre ting, vi ‘ ville have det bedre at lære.
  • Faktisk håndtering redigering på stedet af mange filer kan ‘ t bærbart gøres med Awk eller Sed enten . (-i switch på begge er en GNU-udvidelse.) Men du kan bruge dem bærbart med noget som for f in *; do printf '%s\n' '%!sed -e '\''some sed command'\' x | ex "$f"; done

Svar

Jeg ville have svært ved at leve uden vim, men jeg kan ikke stå vi . At lære den førstnævnte vil dog i det mindste give dig en ide om, hvordan du skal håndtere det senere, når det er alt, hvad der er tilgængeligt.

Vim-interface er som standard faktisk tæt på vi. Hvis jeg “Jeg arbejder på et system med vim, det første jeg gør er at føje disse ting til ~/.vimrc:

syntax enable set nocp set wildmenu 

Der er en masse andre ting, jeg foretrækker – nowrap og nummerering osv. – men husk ikke. “Syntaksaktivering” tænder bare for grundlæggende syntaksfremhævning (noget bøffere: filetype plugin on grundlæggende også); “nocp” deaktiverer vi-kompatibilitet , og det er dette, der begynder at skelne mellem vim og ye olde vi (f.eks. , det muliggør showmode hvilket gør hele oplevelsen noget mere menneskelig, da du nu har en anelse om, om du er i kommando eller ~ INSERT ~ mode). “wildmenu” giver dig bare en vandret færdiggørelsesmenu, når du laver nogle ting, hvilket også gør livet lettere.

tekstredigering -faciliteterne i vim er uden sidestykke – undtagen emacs, jeg har aldrig set eller hørt om et stykke software, der kommer tæt på. De er ikke lette at lære, men når du kender dem, er de meget hurtigere end musemenuerne at bruge og meget mere dynamiske end de enkle nøglemakroalternativer i musemenubaserede grænseflader. Til programmering bruger jeg undertiden vim sammen med en IDE som Eclipse, men jeg udfører det meste af arbejdet i vim.

Hvis du tager denne sti, lol, se på plugins til autofuldførelse og tagliste. Og pas på den mørke side.

Kommentarer

  • Jeg tilføjer altid set mouse=a også.
  • Med hensyn til din programmering kommentar, du kan finde eclim interessant …
  • @ire_and_curses: haven ‘ t prøvede det. Eclipse og vim overvåger begge kildefilerne og tillader dem at blive opdateret eksternt, og at vende fra et skrivebord til et andet vender fra et skrivebord til et andet. Virker som ideen.
  • Selvom jeg ikke ‘ ikke synes, at dette svar skal være det valgte svar (da det ‘ s forudindtaget), er det ‘ nøjagtigt den type perspektiv, der er nyttig til forståelse af forskellene. Tak for din holdning.

Svar

Fordelen er, at vi normalt er forudinstalleret i virksomheds-UNIX som AIX eller Solaris. Derudover er vim ikke tilgængelig på installationsmediet.

Svar

Dette er et uddrag fra Vim Koans :

Master Wq og Unix master

En gammel Unix master kom til Master Wq. ”Jeg er urolig, Wq. Du underviser Vims måde. vi er hellig, men Vim ikke; dens kode sprawls, dens funktioner crowd hukommelse; dens binære filer er enorme, dens adfærd er inkonsekvent. Dette er ikke Unixs måde. Jeg frygter, at du vildleder dine studerende. Hvad kan der gøres? ”

Master Wq nikkede. ”Du har ret,” sagde han. ”Vim er brudt. Lad os ordne det. Skal vi begynde? ”

Den gamle Unix-mester accepterede og åbnede en skal. Han skrev:

$ vi vim.c 

Han begyndte at kode. Master Wq så et stykke tid og spurgte ham derefter: ”Hvilken implementering af vi bruger du? Nvi? Vim? Elvis? ”

“ Jeg ved det ikke, ”sagde Unix-mesteren. “Det betyder ikke noget.”

Master Wq nikkede. Unix-mesteren sad bedøvet et øjeblik og lukkede sit dokument ikke gemt.

Kommentarer

  • hahah … det er sjovt for mig …. dybt, men sjovt.Tak for deling.

Svar

Som tidligere svar allerede har nævnt, kommer vi med næsten ethvert UNIX-system derude.

Jeg ville bare tilføje et eksempel. Arch Linux er en særlig populær og letvægts distro, som hverken installationsprogrammet eller basedistroen leveres med vim som standard, men begge kommer med vi.

Dette er ikke en fordel for vi per se , fordi du simpelthen kan installere vim manuelt, og der er lidt, du skal udrette i installationen, der kræver en teksteditor, og intet hvor vim er bedre end vi til det tilsigtede formål. Men at forstå forskellen og at vi er mere allestedsnærværende og lettere end vim giver det nogle nichefordele.

Også for at være omfattende har ingen endnu udtrykkeligt nævnt, at vi er en direkte forløber for vim. Vim var specielt ønsket om at være alt at vi var og mere.

Så på en meget direkte måde er vim bedre end vi, fordi det var designet til at være .

Svar

Den eneste grund nogensinde til at bruge vi over vim er, når du ikke har noget andet valg.

Der er mange, mange grunde til vim står fo r “vi forbedret”!

Låntagning fra et beslægtet indlæg svarede jeg: –

  1. Flere vinduer – vandret, lodret & faner.
  2. Visuel fremhævning.
  3. Online hjælp via kommandoen: help.
  4. Optag makroer i et register, som du derefter kan udføre.
  5. Fortryd (og gentag) flere gange i stedet for at gamle vi er sindssyge fortryde skifte.
  6. Kommandolinjehistorik, søgehistorik.
  7. Et helt sprog integreret sammen med et væld af tilgængelige funktioner, f.eks. getcwd ()
  8. Meget udvidet mønstermatchning.
  9. Ordafslutning via ctrl-P & ctrl-N.
  10. En indbygget filnavigator (lidt klodset, men kan være nyttig).
  11. ESC-nøglen afslutter faktisk kommandoer, du forsøgte at komme ud af i stedet for (sindssygt) at køre dem som vi gør.
  12. Evne til at køre kommandoer på alle buffere, args eller windows via bufdo, argdo & windo.

Kommentarer

  • Du kunne sandsynligvis have bragt ” mange, mange ” grunde til, at du nævnte i unix.stackexchange.com/a/425597/85039 svar herover. At ‘ d gør dette svar lidt bedre; ellers læser det mere som en kommentar end et faktisk svar
  • Punkt taget. Svar opdateret, lånt fra et beslægtet svar, jeg lavede i går.

Svar

Jeg har bemærket, at jeg kun vælg Vi over VIM Jeg kopierer og indsætter et tekstdokument eller en konfigurationsfil, som jeg har brugt cat -kommandoen. Dette skyldes, at når jeg prøver at ctrl-c og derefter ctrl-v i VIM åbnet dokument, det tvinger alle linjer til at have en kommentar foran dem. Så når jeg bruger Vi til ctrl-v eller paste i Vi åbnet dokument, det indsætter nøjagtigt det, jeg kopierede fra. Bortset fra det bruger jeg VIM hele dagen.

God fornøjelse!

Kommentarer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *