Jeg vet litt om * NIX tekstredigerere (migrerer for tiden fra nano
til vim
), og etter å ha sett seg litt rundt på Unix & Linux SE, har de lagt merke til at vi
brukes i stedet for «vim» i ganske mange spørsmål. Jeg vet at «vim» står for «Vi IMproved», og med det i tankene lurer jeg på hvorfor noen heller vil bruke vi i stedet for vim. Har vi noen vesentlig fordel i forhold til vim?
Rediger: Jeg tror at spørsmålet mitt blir feiltolket. Jeg vet at vim for det meste er betydelig kraftigere og funksjonskomplett enn vi er. Det jeg vil vite er om det er noen mulige tilfeller der vi har en fordel i forhold til vim, for eksempel mindre minnebruk, utbredelse på * nix-systemer osv.
Kommentarer
- Det fine med
vi
er at du kan forvente at det skal være på alle POSIX-kompatible systemer. - Egentlig inkluderer Ubuntu standardinstallasjon
vi
og ikkevim
.. Ubuntu er en av de mest brukervennlige distro btw 😉 - @amyassin Dette er feil, inkluderer Ubuntu, som de fleste Linux-distribusjoner,
vim
.vi
er bare en symbolsk lenke som til slutt peker tilvim
i standardinstallasjonen. - Mitt råd er: Bruk Vim, men lær deg
vi
ved å bruke POSIX-spesifikasjonene forvi
. På den måten har du bærbar kunnskap så vel som å vite Vim-utvidelser. - @DDK Du savnet » til slutt » i uttalelsen min. » ls -l / etc / alternativer / vi » – > » lrwxrwxrwx 1 rotrot 17. janv. 1 2016 / etc / alternativer / vi – > /usr/bin/vim.tiny»
Svar
vi
er (også) en POSIX standardredaktør . Det er mange implementeringer og vim
er sannsynligvis den mest populære.
Mens mange tradisjonelle Unix-kompatible operativsystemer gir vi
implementeringer veldig nær standarden, vim
har lagt til mange ekstra funksjoner som gjør det til et tveegget sverd.
Selvfølgelig er disse utvidelsene vanligvis designet for å lette redigeringsprosessen og gi nyttige funksjoner og funksjoner. Når du først er vant til noen av dem (ikke de kosmetiske som syntaksfarging, men de som endrer redaktørens oppførsel), kan du enkelt glemme at de er spesifikke, og bruke en annen implementering, inkludert de som er basert på den opprinnelige BSD. kode kan være veldig frustrerende. Det motsatte er også sant.
Dette er ganske likt problemet som skjer med skript som bruker ikke POSIX-bashismer overfor mer ortodokse skallimplementeringer som dash
eller ksh
.
Svar
Ingen vi har ikke noen betydelig fordel i forhold til vim, snarere er det omvendt. Vim har flere fordeler enn Vi. Du kan være interessert i: Hvorfor, å HVORFOR, gjør de #? @! nutheads use vi?
Edit les også: Er det viktig å lære VIM?
Kommentarer
- Jepp. Jeg bruker ikke ‘ IDE fordi redaktørene de tvinger deg til å bruke bare ikke er ‘ t Vim.
- @Keith Jeg bruker både Xcode og Eclipse, og jeg ‘ er fremdeles i stand til å redigere med vi bare.
- @Keith SlickEdit har en flott Vim-emulering, og IDEA ‘ kommer nær det. Visual Studio har også ViEmu.
- IntellIJ har også en fin vim-plugin som overstyrer standardeditoren ‘ s oppførsel.
Svar
Etter å ha brukt en stor del av livet mitt (ikke inkludert barndommen) på å redigere komfortabelt med Vim, brukte jeg omtrent en måned på å bare bruke vi. Da jeg innså at jeg hadde vært avhengig av Vim for alle mine tekstendringsbehov. Hver gang jeg måtte bytte ut tekst eller utføre en lignende operasjon i en stor gruppe filer før vi reiste med vi, ville jeg bare åpne filene i Vim og kjøre en :bufdo
-kommando , og når jeg måtte innrykk eller formatere noen filer, ville jeg åpne dem i Vim og bruke kommandoene Vim «s =
og gw
Jeg var Vim-avhengig.Etter at vi innså at vi ikke hadde disse kommandoene, ble jeg tvunget til å utføre masseteksttransformasjoner med sed
og lærte mye om andre programmer som awk
og indent
. Selv om jeg til slutt byttet tilbake til å bruke Vim, var kunnskapen jeg fikk ved å bruke en redaktør med mindre utvalg, betydelig og har vist seg å være ekstremt nyttig. I tillegg til å lære om verktøy utenfor en tekstredigerer, ble jeg også bedre kjent med vi. Hver gang jeg jobber med et nytt system eller en server som ikke har Vim, føler jeg meg mye mer komfortabel med å bruke vi enn før en månedstur.
I forrige måned installerte jeg Linux på en billig WM8650-nettbrett og fant ut at det var en merkbar ytelsesforskjell mellom Vim og vi, så jeg pleier å bruke vi på nettbrettet.
Kommentarer
- Jeg finner ut at dette er et vanlig spørsmål i IT – verktøyene som hjelper oss kan også skjule ting vi ‘ har bedre læring.
- Egentlig håndtering redigering på stedet av mange filer kan ‘ t bærbart gjøres med Awk eller Sed enten . (
-i
bytte på begge deler er en GNU-utvidelse.) Men du kan bruke dem bærbart med noe somfor f in *; do printf '%s\n' '%!sed -e '\''some sed command'\' x | ex "$f"; done
Svar
Jeg ville hatt vanskelig for å leve uten vim, men jeg kan ikke stå vi . Å lære førstnevnte vil imidlertid i det minste gi deg en ide om hvordan du skal håndtere det senere når det er alt som er tilgjengelig.
Vim-grensesnittet er som standard ganske nær vi. Hvis jeg «Jeg jobber med et system med vim, det første jeg gjør er å legge til disse tingene i ~/.vimrc
:
syntax enable set nocp set wildmenu
Det «en haug med andre ting jeg foretrekker – nowrap og nummerering på, osv. – men det har du ikke noe imot.» Syntaksaktivering «slår bare på grunnleggende syntaksmarkering (noe bøffere: filetype plugin on
er grunnleggende også); «nocp» slår av vi-kompatibilitet og det er dette som begynner å skille vim fra dere olde vi (f.eks. , det muliggjør showmode
som gjør hele opplevelsen noe mer menneskelig, siden du nå har noe anelse om du er i kommando eller ~ INSERT ~ mode). «wildmenu» gir deg bare en horisontal fullføringsmeny når du gjør noen ting, noe som også gjør livet lettere.
tekstredigering fasilitetene til vim er uten sidestykke – annet enn emacs, jeg har aldri sett eller hørt om et programvare som kommer i nærheten. De er ikke enkle å lære, men når du først kjenner dem, er de mye raskere enn musemenyene å bruke og mye mer dynamiske enn de enkle nøkkelmakroalternativene i musemenybaserte grensesnitt. For programmering bruker jeg noen ganger vim sammen med en IDE som Eclipse, men jeg gjør det meste av arbeidet i vim.
Hvis du tar den banen, lol, se på pluginene for autofullføring og taglister. Og pass på den mørke siden.
Kommentarer
- Jeg legger alltid til
set mouse=a
også. - Når det gjelder programmering kommentar, du kan finne eclim interessant …
- @ire_and_curses: haven ‘ t prøvde det. Formørkelse og vim overvåker begge kildefilene og lar dem oppdateres eksternt, og å bla fra ett skrivebord til et annet blar fra ett skrivebord til et annet. Virker som ganske ideen.
- Selv om jeg ikke ‘ ikke tror dette svaret skal være det valgte svaret (siden det ‘ s partisk), er det ‘ nøyaktig typen perspektiv som er nyttig for å forstå forskjellene. Takk for at du tok stilling.
Svar
Fordelen er at vi vanligvis er forhåndsinstallert i enterprise UNIX som AIX eller Solaris. Dessuten er vim ikke tilgjengelig på installasjonsmedier.
Svar
Dette er utdrag fra Vim Koans :
Master Wq og Unix master
En gammel Unix master kom til Master Wq. “Jeg er urolig, Wq. Du lærer veien til Vim. vi er hellig, men Vim er ikke; dens kode sprawls, dens funksjoner mengde minne; dens binærfiler er enorme, dens oppførsel er inkonsekvent. Dette er ikke Unix. Jeg frykter at du villeder studentene dine. Hva kan gjøres? ”
Master Wq nikket. «Du har rett,» sa han. “Vim er ødelagt. La oss fikse det. Skal vi begynne? ”
Den gamle Unix-mesteren var enig, og åpnet et skall. Han skrev:
$ vi vim.c
Han begynte å kode. Master Wq så på en stund og spurte ham: ”Hvilken implementering av vi bruker du? Nvi? Vim? Elvis? ”
“ Jeg vet ikke, ”sa Unix-mesteren. «Det spiller ingen rolle.»
Master Wq nikket. Unix-mesteren satt forbløffet et øyeblikk og lukket dokumentet sitt ikke lagret.
Kommentarer
- hahah … det er morsomt for meg …. dyp, men morsom.Takk for delingen.
Svar
Som tidligere svar allerede har nevnt, kommer vi med omtrent hvert UNIX-system. der ute.
Jeg ville bare legge til et eksempel. Arch Linux er en spesielt populær og lett distro som verken installatøren, eller basedistroen kommer med vim som standard, men begge kommer med vi.
Dette er ikke en fordel for vi per se , fordi du ganske enkelt kan installere vim manuelt, og det er lite du trenger å oppnå i installasjonen som krever en tekstredigerer, og ingenting der vim er bedre enn vi for det tiltenkte formålet. Men å forstå forskjellen og at vi er mer allestedsnærværende og lettvektig enn vim gir det noen nisjefordeler.
Dessuten, for å være omfattende, har ingen ennå nevnt eksplisitt at vi er en direkte forløper for vim. Vim var ønsket spesielt å være alt at vi var og mer.
Så på en veldig direkte måte er vim overlegen vi, fordi den ble designet for å være .
Svar
Den eneste grunnen til å bruke vi over vim er når du ikke har noe annet valg.
Det er mange, mange grunner til vim står fo r «vi forbedret»!
Lån fra et beslektet innlegg svarte jeg: –
- Flere vinduer – vannrett, loddrett & faner.
- Visuell utheving.
- Online hjelp via: hjelp-kommandoen.
- Spill inn makroer i et register som du deretter kan utføre.
- Angre (og gjør om) flere ganger, i stedet for gamle vi er vanvittige angrebrytere.
- Kommandolinjelogg, søkehistorikk.
- Et helt språk innebygd sammen med en rekke tilgjengelige funksjoner, f.eks. getcwd ()
- Stort utvidet mønstermatching.
- Fullføring av ord via ctrl-P & ctrl-N.
- En innebygd filnavigator (litt klumpete, men kan være nyttig).
- ESC-tasten avslutter faktisk kommandoer du prøvde å, vel, unnslippe fra i stedet for (sinnsykt) å kjøre dem som vi gjør.
- Evne til å kjøre kommandoer på alle buffere, args eller windows via bufdo, argdo & windo.
Kommentarer
- Du kunne sannsynligvis ha hentet » mange, mange » grunner du nevnte i unix.stackexchange.com/a/425597/85039 svar her. At ‘ d gjør dette svaret litt bedre; ellers leser det mer som en kommentar enn et faktisk svar
- Punkt tatt. Svar oppdatert, lånt fra et beslektet svar jeg ga i går.
Svar
Jeg har lagt merke til at jeg bare velg Vi
over VIM
når Jeg kopierer og limer inn et tekstdokument eller en konfigurasjonsfil som jeg har brukt cat
-kommandoen. Dette er fordi når jeg prøver å ctrl-c
og deretter ctrl-v
inn i VIM
åpnet dokument, det tvinger alle linjer til å ha en kommentar foran dem. Så når jeg bruker Vi
til ctrl-v
eller paste
i Vi
åpnet dokument, det limer inn akkurat det jeg kopierte fra. Bortsett fra det, bruker jeg VIM
hele dagen.
Kos deg!
Kommentarer
- Prøv
:set paste
- sett pastetoggle = < F2 > i .vimrc ( vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste)