Tiedän vähän * NIX-tekstieditorista (siirtymässä tällä hetkellä nano
-kohdasta vim
), ja kun olemme katsoneet hieman Unix & Linux SE -käyttöjärjestelmää, olemme huomanneet, että vi
käytetään ”vim”: n sijaan melko monessa kysymyksessä. Tiedän, että ”vim” tarkoittaa ”Vi IMproved”, ja mietin tämän mielessä, miksi kukaan haluaisi mieluummin käyttää vi: tä kuin vim. Onko vi: llä mitään merkittävää etua vimiin nähden?
Muokkaa: Mielestäni kysymystä tulkitaan väärin. Tiedän, että vim on suurimmaksi osaksi huomattavasti tehokkaampi ja ominaisuuksien täydellinen kuin vi on. Haluan tietää, onko mahdollisissa tilanteissa, joissa vi: llä on etu vimiin nähden, kuten vähemmän muistin käyttöä, esiintyvyys * nix-järjestelmissä jne.
Kommentit
vastaus
vi
on (myös) POSIX-vakiomuokkain . Toteutuksia on paljon, ja vim
on todennäköisesti suosituin.
Vaikka monet perinteiset Unix-yhteensopivat käyttöjärjestelmät tarjoavat vi
Toteutukset ovat hyvin lähellä standardia, vim
on lisännyt paljon lisäominaisuuksia, jotka tekevät siitä kaksiteräisen miekan.
Nämä laajennukset on tietysti suunniteltu yleensä muokkausprosessin helpottamiseksi ja hyödyllisten ominaisuuksien ja toimintojen tarjoamiseksi. Kuitenkin, kun olet tottunut joihinkin niistä (ei kosmeettisiin, kuten syntaksiväritys, vaan niihin, jotka muuttavat editorin käyttäytymistä), voit helposti unohtaa, että ne ovat erityisiä; ja käyttämällä toista toteutusta, mukaan lukien alkuperäiseen BSD: hen perustuvat koodi voi olla hyvin turhauttavaa. Myös päinvastoin.
Tämä on melko samanlainen kuin ongelma, joka tapahtuu skripteillä, jotka käyttävät muita kuin POSIX-basisteja, jotka kohtaavat enemmän ortodoksisia kuorintoteutuksia, kuten dash
tai ksh
.
Vastaa
Ei vi mitään merkittävää etua vimiin nähden pikemminkin päinvastoin. Vimillä on enemmän etuja kuin Vi. Saatat olla kiinnostunut: Miksi, oi MIKSI, tee nämä #? @! mutteripäät käyttävät vi: ä?
Edit lukee myös: Onko VIM: n oppiminen vaivan arvoista?
Kommentit
- Jep. En käytä ’ en käytä IDE: tä, koska heidän muokkaamansa toimittajat pakottavat sinut käyttämään vain isn ’ t Vimiä.
- @Keith Käytän sekä Xcodea että Eclipseä, ja ’ pystyn edelleen muokkaamaan vain vi: llä.
- @Keith SlickEditillä on hyvä Vim-emulointi ja IDEA ’ s on lähellä sitä. Visual Studiossa on myös ViEmu.
- IntellIJ: ssä on myös mukava vim-laajennus, joka ohittaa vakiomuokkaimen ’ käyttäytymisen.
Vastaus
Kun vietin suuren osan elämästäni (lapsuutta lukuun ottamatta) mukavasti muokkaamalla mukavasti Vimin kanssa, vietin noin kuukauden vain vi: n avulla. Tällöin tajusin, että olin ollut riippuvainen Vimistä kaikissa tekstin muokkaustarpeissani. Ennen matkaa vi: llä, kun minun täytyi korvata tekstiä tai suorittaa vastaava toimenpide suuressa tiedostoryhmässä, avasin vain tiedostot Vimissä ja suoritin komennon :bufdo
, ja aina kun jouduin sisentämään tai muotoilemaan joitain tiedostoja, avasin ne Vimissä ja käytin Vim-komentoja ”s =
ja gw
-komennoilla Olin Vim-riippuvainen.Sen jälkeen kun tajusin, että vi: llä ei ollut näitä komentoja, pakotettiin suorittamaan joukkomuuntaisia tekstimuunnoksia sed
-ohjelmalla ja opin paljon muista ohjelmista, kuten awk
ja indent
. Vaikka vaihdoin lopulta takaisin Vimin käyttöön, tieto, jonka sain käyttämällä vähemmän esillä olevaa editoria, oli huomattavaa ja osoittautunut erittäin hyödylliseksi. Sen lisäksi, että opin työkaluja tekstieditorin ulkopuolella, tutustuin paremmin myös vi: hen. Aina kun työskentelen uudella järjestelmällä tai palvelimella, jolla ei ole Vimiä, tunnen oloni paljon mukavammaksi käyttää vi: tä kuin ennen kuukausimatkaa.
Lisäksi viime kuussa asensin Linuxin halpa WM8650-tabletti ja havaitsi, että Vim: n ja vi: n välillä on huomattava suorituskykyero, joten käytän yleensä vi: tä tabletilla.
Kommentit
- Huomaan, että tämä on yleinen asia IT: ssä – työkalut, jotka auttavat meitä, voivat myös peittää asioita, joista ’ voimme paremmin oppia.
- Itse asiassa käsittely monien tiedostojen paikallista tiedostojen muokkausta ei voida ’ t tehdä kannettavasti Awk tai Sed joko kanssa. (
-i
kytke molemmat päälle on GNU-laajennus.) Mutta voit käyttää niitä kannettavasti esimerkiksifor f in *; do printf '%s\n' '%!sed -e '\''some sed command'\' x | ex "$f"; done
Vastaa
Minulla olisi vaikeuksia elää ilman vimiä, mutta en voi seistä vi . Entisen oppiminen antaa kuitenkin ainakin ajatuksen siitä, miten käsitellä myöhempää, kun se on kaikki käytettävissä.
Vim-käyttöliittymä on oletusarvoisesti melko lähellä vi: tä. ”Työskentelen järjestelmässä, jossa on vim. Ensimmäinen asia, jonka teen, on lisätä nämä jutut kansioon ~/.vimrc
:
syntax enable set nocp set wildmenu
Siellä ”on joukko muita mieluummin pidettäviä asioita – nytrap ja numerointi jne. – mutta ei haittaa.” Syntaksin käyttöönotto ”ottaa vain käyttöön syntaksin peruskorostuksen (hieman lihavampi: filetype plugin on
on myös perus); ”nocp” sammuttaa vi-yhteensopivuuden , ja juuri tämä alkaa erottaa vim vanhasta vi (esim. , se mahdollistaa showmode
-ominaisuuden, mikä tekee koko kokemuksesta jonkin verran inhimillisemmän, koska sinulla on nyt jonkinlainen vihje siitä, oletko komennossa vai ~ INSERT ~ -tilassa). vaakasuora valmistumisvalikko, kun teet joitain asioita, mikä myös helpottaa elämää.
Vim: n tekstinmuokkaus -ominaisuudet ovat vertaansa vailla – en muuta kuin emacs, en ole koskaan nähnyt tai kuullut lähellä olevasta ohjelmistosta. Niitä ei ole helppo oppia, mutta kun tunnet ne, ne ovat paljon nopeammin kuin hiiren valikot käytettävissä ja paljon dynaamisempia kuin hiiren valikkopohjaisten rajapintojen yksinkertaiset näppäinmakrovaihtoehdot. Ohjelmoinnissa käytän joskus vimeä IDE: n, kuten Eclipse, rinnalla, mutta teen suurimman osan työstä vimissä.
Jos valitset tämän polun, lol, etsi automaattisen täydennyksen ja taglist-laajennuksia. Ja varokaa pimeää puolta.
Kommentit
- Lisän aina myös
set mouse=a
. - Ohjelmointiin liittyen kommentti, saatat löytää hurmaava mielenkiintoinen …
- @ire_and_curses: haven ’ t kokeili sitä. Eclipse ja Vim seuraavat molemmat lähdetiedostoja ja sallivat niiden päivittämisen ulkoisesti, ja työpöydältä toiselle selaaminen siirtyy työpöydältä toiselle. Näyttää siltä, että ajatus on tho.
- Vaikka en mielestäni ’ usko, että tämän vastauksen pitäisi olla valittu vastaus (koska se ’ s puolueellinen), se ’ on tarkalleen sellainen näkökulma, josta on hyötyä erojen ymmärtämisessä. Kiitos kannanotostasi.
Vastaus
Etu on, että vi yleensä esiasennettu yrityksen UNIX-järjestelmään, kuten AIX tai Solaris. Sen lisäksi, että vim ei ole käytettävissä asennusvälineillä.
Vastaa
Tämä on ote Vim Koans :
Master Wq ja Unix-isäntä
Vanha Unix-päällikkö tuli Master Wq: n joukkoon. ”Olen huolissani, Wq. Opetat Vimin tietä. vi on pyhä, mutta Vim ei; sen koodi levenee, sen piirteet ovat yleisön muistia; sen binäärit ovat valtavia, käyttäytyminen epäjohdonmukaista. Tämä ei ole Unixin tapa. Pelkään, että harhaan opiskelijasi. Mitä voidaan tehdä? ”
Master Wq nyökkäsi. ”Olet oikeassa”, hän sanoi. ”Vim on rikki. Korjaa se. Aloitetaanko? ”
Vanha Unix-päällikkö suostui ja avasi kuoren. Hän kirjoitti:
$ vi vim.c
Hän alkoi koodata. Mestari Wq katseli jonkin aikaa ja kysyi sitten häneltä: ”Mitä vi-toteutusta käytät? Nvi? Vim? Elvis? ”
” En tiedä ”, sanoi Unix-päällikkö. ”Ei ole väliä.”
Mestari Wq nyökkäsi. Unix-päällikkö istui hetken hämmästyneenä ja sulki asiakirjansa tallentamattomana.
Kommentit
- hahah … se on minulle hauskaa …. syvä mutta hauska.Kiitos jakamisesta.
vastaus
Kuten aiemmat vastaukset ovat jo maininneet, vi mukana melkein jokaisessa UNIX-järjestelmässä siellä.
Halusin vain lisätä esimerkin. Arch Linux on yksi erityisen suosittu ja kevyt jakelu, jota asentaja tai perusviat eivät ole mukana oletusarvoisesti, mutta molemmissa on vi.
Tämä ei ole etu vi sinänsä , koska voit yksinkertaisesti asentaa VIM: n manuaalisesti, ja asennuksessa on vähän tehtävää, joka vaatii tekstieditorin, eikä mitään, missä VIM on aiottua tarkoitusta parempi. on yleisempi ja kevyempi kuin vim, antaa sille joitain etuja.
Kukaan ei ole vielä yksiselitteisesti maininnut nimenomaisesti, että vi on suora edeltäjä vimille. Vim oli nimenomaan suunniteltu olemaan kaikki että vi oli ja enemmän.
Joten vim on hyvin suoralla tavalla parempi kuin vi, koska se on suunniteltu olevan .
Vastaa
Ainoa syy koskaan käyttää vi: tä yli vimiin on, kun sinulla ei ole muuta vaihtoehtoa.
Siihen on monia, monia syitä vim seisoo fo r ”vi parannettu”!
Lainan aiheeseen liittyvästä postauksesta, johon vastasin: –
- Useita ikkunoita – vaakasuora, pystysuora välilehdet.
- Visuaalinen korostus.
- Online-ohje: help -komennon avulla.
- Tallenna makrot rekisteriin, jonka voit sitten suorittaa.
- Kumoa (ja tee uudelleen) useita kertoja vanhan vi: n mielettömän kumouksen vaihtamisen sijaan.
- Komentorivihistoria, hakuhistoria.
- Koko kieli upotettuna yhdessä joukon käytettävissä olevat toiminnot, esim. getcwd ()
- Paljon laajennettu mallien vastaavuus.
- Sanan täydennys ctrl-P: n kautta & ctrl-N.
- Sisäänrakennettu tiedostojen navigaattori (hieman kömpelö, mutta voi olla hyödyllinen).
- ESC-avain todella sulkee komennot, joista yritit. kuten vi tekee.
- Kyky suorittaa komentoja kaikilla puskureilla, argeilla tai ikkunoilla bufdo, argdo & windon kautta.
Kommentit
- Olet todennäköisesti voinut tuoda esiin ” monia, monia ” syitä, jotka mainitsit kohdassa unix.stackexchange.com/a/425597/85039 vastaa tähän. Se ’ tekee tästä vastauksesta hieman paremman; muuten se lukee enemmän kuin kommentti kuin todellinen vastaus
- Otettu piste. Vastaus päivitetty, lainattu eilen tekemäni vastauksesta.
Vastaa
Olen huomannut, että vain valitse Vi
VIM
kun Kopioin ja liitän tekstidokumentin tai määritystiedoston, jota olen käyttänyt cat
-komennolla. Tämä johtuu siitä, että kun yritän ctrl-c
ja sitten ctrl-v
VIM
avattuun asiakirjaan, se pakottaa kaikki rivit kommentoimaan niiden edessä. Joten kun käytän Vi
ctrl-v
tai paste
osaan Vi
avattu asiakirja, se liittää juuri sen, mistä kopioin. Muuten käytän VIM
koko päivän.
Nauti!
kommentit
- Kokeile
:set paste
- set pastetoggle = < F2 > .vimrc-tiedostossa ( vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste)
vi
: n mukava asia on se, että voit odottaa sen olevan jokaisessa POSIX-yhteensopivassa järjestelmässä.vi
eikävim
.. Ubuntu on yksi käyttäjäystävällisimmistä jakelu btw: stä 😉vim
.vi
on vain symbolinen linkki, joka viittaa lopulta oletusasennuksenvim
-kohtaan.vi
käyttämällä POSIX-määrityksiävi
. Tällä tavalla sinulla on kannettava tieto sekä Vim-laajennusten tunteminen.