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 ikkevim
.. 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 tilvi
. 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 somfor 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: –
- Flere vinduer – vandret, lodret & faner.
- Visuel fremhævning.
- Online hjælp via kommandoen: help.
- Optag makroer i et register, som du derefter kan udføre.
- Fortryd (og gentag) flere gange i stedet for at gamle vi er sindssyge fortryde skifte.
- Kommandolinjehistorik, søgehistorik.
- Et helt sprog integreret sammen med et væld af tilgængelige funktioner, f.eks. getcwd ()
- Meget udvidet mønstermatchning.
- Ordafslutning via ctrl-P & ctrl-N.
- En indbygget filnavigator (lidt klodset, men kan være nyttig).
- 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.
- 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
- Prøv
:set paste
- indstil pastetoggle = < F2 > i .vimrc ( vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste)