Kicsit tudok a * NIX szövegszerkesztőkről (jelenleg nano
-ről ), és miután kicsit körülnéztem a Unix & Linux SE-n, észrevettük, hogy a vi
a “vim” helyett szép számmal. Tudom, hogy a “vim” a “Vi IMproved” rövidítése, és ezt szem előtt tartva kíváncsi vagyok, miért akarja valaki inkább a vi-t használni a vim helyett. Van-e valamilyen jelentős előnye a vim-mel szemben?
Szerkesztés: Úgy gondolom, hogy kérdésemet félreértelmezik. Tudom, hogy a vim többnyire lényegesen erőteljesebb és teljesebb, mint a vi. Azt szeretném tudni, hogy vannak-e olyan esetek, amikor a vi előnye van a vim-mel szemben, például kevesebb memóriahasználat, prevalencia a * nix rendszereken stb.
Megjegyzések
Válasz
vi
is (is) egy POSIX szabványos szerkesztő . Rengeteg megvalósítás létezik, és valószínűleg a vim
a legnépszerűbb.
Bár sok hagyományos Unix-kompatibilis operációs rendszer biztosítja a vi
a szabványhoz nagyon közel álló megvalósítások, vim
rengeteg olyan extra funkcióval bővült, amelyek kétélű karddá teszik.
Természetesen ezeket a bővítményeket általában a szerkesztési folyamat megkönnyítése, valamint hasznos funkciók és funkciók biztosítása. Azonban, ha már megszokta néhányat (nem a kozmetikai szerek, például a szintaxis színezése, hanem azok, amelyek megváltoztatják a szerkesztő viselkedését), könnyen megfeledkezhet arról, hogy specifikusak, és más megvalósítást használva, beleértve az eredeti BSD-n alapulóakat is a kód nagyon frusztráló lehet. Az ellenkezője is igaz.
Ez meglehetősen hasonlít ahhoz a problémához, amely nem POSIX-bashizmusokat használó szkriptekkel fordul elő, amelyek több ortodox héjmegvalósítással szembesülnek, például / div> vagy ksh
.
Válasz
Nincs vi. bármilyen jelentős előny a vim-mel szemben, inkább fordítva. Vimnek több előnye van, mint Vi-nek. Érdekelheti: Miért, jaj MIÉRT csinálják ezeket a #? @! nutheads használ vi?
Edit is így hangzott: Megéri-e a VIM-et tanulni?
Megjegyzések
- Igen. Nem használok egyetlen IDE-t sem, mert az általuk szerkesztett szerkesztők kénytelenek csak a Vim.
- használatát használni. id = “839e654907”>
@Keith Az Xcode-ot és az Eclipse-t egyaránt használom, és ‘ továbbra is csak a vi-vel tudok szerkeszteni.
Válasz
Miután életem nagy részét (a gyermekkor kivételével) kényelmesen szerkesztettem a Vimmel, körülbelül egy hónapot töltöttem csak a vi használatával. Ezzel rájöttem, hogy minden szövegmódosítási igényem függött a Vim-től. A vi-vel való utazásom előtt, amikor valamilyen szöveget kellett kicserélnem vagy hasonló műveletet kellett végrehajtanom egy nagy fájlcsoportban, csak megnyitottam a fájlokat a Vim-ben, és futtattam egy :bufdo
parancsot. , és valahányszor be kellett húznom vagy meg kellett formáznom néhány fájlt, kinyitottam a Vim-ben, és a Vim “s =
és gw
parancsokat használtam. Vim-függő voltam.Miután rájöttem, hogy a vi nem rendelkezik ezekkel a parancsokkal, kénytelen voltam tömeges szövegátalakításokat végrehajtani a sed
segítségével, és rengeteget tanultam más programokról, például a awk
és indent
. Bár végül visszatértem a Vim használatára, a kevésbé kiemelt szerkesztő használatával megszerzett ismeretek jelentősek voltak, és rendkívül hasznosnak bizonyultak. A szövegszerkesztőn kívüli eszközök megismerése mellett jobban megismertem a vi. Amikor új rendszeren vagy egy olyan kiszolgálón dolgozom, amelyen nincs Vim, sokkal kényelmesebbnek érzem magam a vi használatával, mint egy hónapos kirándulásom előtt.
A múlt hónapban telepítettem a Linuxot is olcsó WM8650 táblagépet, és észrevehetően különbözött a teljesítménytől a Vim és a vi között, ezért hajlamos vagyok vi-t használni a táblagépen.
Megjegyzések
- Megállapítottam, hogy ez egy általános probléma az informatikában – az eszközök, amelyek segítenek bennünket, elhomályosíthatják azokat a dolgokat is, amelyeket ‘ jobban tanulhatunk.
- Valójában a kezelés Sok fájl helyben történő fájlszerkesztése ‘ t hordozható módon nem hajtható végre Awk vagy Sed vagy használatával. (A
-i
kapcsolja be mindkettő egy GNU kiterjesztés.) De hordozhatóan is használhatja őket példáulfor f in *; do printf '%s\n' '%!sed -e '\''some sed command'\' x | ex "$f"; done
Válasz
Nehezen tudnék élni vim nélkül, de nem tudom kibírni a vi t. Az előbbi elsajátítása azonban legalább ötletet ad arra, hogy miként kell kezelni a későbbieket, amikor ez csak elérhető. “VIM-mel rendelkező rendszeren dolgozom. Első lépésként hozzáadom ezeket a cuccokat a következőhöz: ~/.vimrc
:
syntax enable set nocp set wildmenu
Van még egy csomó más dolog, amit jobban szeretek – most már bepattintás és számozás stb. -, de ne törődjünk vele. A “szintaxis engedélyezése” csak bekapcsolja az alapvető szintaxis kiemelést (kissé marhább: filetype plugin on
is alapvető is); “nocp” kikapcsolja a vi kompatibilitást , és ez kezdi megkülönböztetni a vim-et az olde vi-től (pl. , ez lehetővé teszi a showmode
funkciót, ami némileg emberibbé teszi az egész élményt, mivel most van némi sejtése arról, hogy parancsban vagy ~ INSERT ~ módban van-e). A “wildmenu” csak egy vízszintes befejezés menü, amikor néhány dolgot végez, ami megkönnyíti az életet is.
A vim szövegszerkesztési szolgáltatásai felülmúlhatatlanok – az emacs kivételével még soha nem láttam és hallottam olyan szoftvert, amely közel kerülne. Nem könnyű megtanulni őket, de ha már ismeri őket, sokkal gyorsabbak, mint az egérmenük, és sokkal dinamikusabbak, mint az egérmenü-alapú felületek egyszerű makró-alternatívái. A programozáshoz néha a vim-et használom egy IDE-hez hasonlóan, mint például az Eclipse, de a munka nagy részét vim-ben végzem.
Ha ezen az úton haladsz, lol, akkor nézd meg az automatikus kiegészítés és a címkék listájának bővítményeit. És vigyázz a sötét oldalra.
Megjegyzések
- Mindig hozzáadok
set mouse=a
-t is. - A programozással kapcsolatban megjegyzést, érdekesnek találhatja az eclim …
- @ire_and_curses: haven ‘ t megpróbálta. Az Eclipse és a Vim egyaránt figyeli a forrásfájlokat, és lehetővé teszi azok külső frissítését, és az egyik asztalról a másikra való átlapozás egyik asztalról a másikra vált. Eléggé ötletnek tűnik.
- Bár nem gondolom, hogy ‘ nem gondolom, hogy ez a válasz legyen a választott válasz (mivel ‘ s elfogult), akkor ‘ pontosan olyan perspektíva, amely hasznos a különbségek megértéséhez. Köszönjük, hogy álláspontot foglalt.
Válasz
Előnye, hogy a vi általában előre telepítve van a vállalati UNIX-ban, például AIX vagy Solaris. A vim mellett a telepítési adathordozókon sem érhető el.
Válasz
Ezt a Vim Koans :
Wq mester és a Unix mester
Egy régi Unix mester jött a Wq mesterhez. – Zaklatott vagyok, Wq. Te tanítod a Vim útját. vi szent, de Vim nem; kódja szétterjedt, jellemzői tömeges memóriában vannak; bináris fájljai hatalmasak, viselkedése következetlen. Ez nem a Unix módja. Attól tartok, hogy félrevezeti a hallgatóit. Mit lehet tenni? ”
Wq mester bólintott. – Igazad van – mondta. – A Vim megtört. Javítsuk ki. Kezdjük? ”
A régi Unix mester beleegyezett, és kinyitott egy héjat. Gépelte:
$ vi vim.c
Kódolni kezdett. Wq mester egy darabig figyelt, majd megkérdezte tőle: „A vi melyik megvalósítását használod? Nvi? Vim? Elvis? ”
„ Nem tudom ”- mondta a Unix mester. „Nem számít.”
Wq mester bólintott. A Unix mester döbbenten ült egy pillanatig, és mentetlenül bezárta a dokumentumát.
Hozzászólások
- hahah … nekem ez vicces …. mély, de vicces.Köszönjük a megosztást.
Válasz
Mint a korábbi válaszok már említették, a vi szinte minden UNIX rendszerrel együtt jár odakint.
Csak egy példát akartam hozzáadni. Az Arch Linux egy különösen népszerű és könnyű disztribúció, amelyet sem az Installer, sem az alap disztribúció alapértelmezés szerint nem tartalmaz vim-mel, azonban mindkettőhöz tartozik a vi.
Ez nem jelent előnyt a vi önmagában , mert egyszerűen telepítheti a vim-et manuálisan, és kevés az, amit el kell végeznie a telepítésben, amelyhez szövegszerkesztő szükséges, és semmi sem, ahol a vim a rendeltetési célnál jobb a vi-nél. De a különbség és a vi megértése sokkal általánosabb és könnyebb, mint a vim, niche előnyökkel jár.
Ezen túlmenően, hogy átfogó legyen, még senki sem említette kifejezetten, hogy a vi a vim közvetlen előfutára. hogy a vi volt, és még sok más.
Tehát nagyon közvetlen módon a vim felülmúlja a vi-t, mert úgy tervezték .
Válasz
Az egyetlen ok, ami miatt a vi-t a vim-hez használjuk, az az, amikor nincs más választása.
Sok-sok oka van ennek. vim áll fo r “vi javult”!
Kölcsönzés egy kapcsolódó bejegyzésből válaszoltam: –
- Több ablak – vízszintes, függőleges & fülek.
- Vizuális kiemelés.
- Online súgó a: help paranccsal.
- Rögzítse a makrókat egy nyilvántartásba, amelyet aztán futtathat.
- Visszavonás (és újraírás) többször, nem a régi vi “őrült visszavonási kapcsolója.
- Parancssori előzmények, keresési előzmények.
- Egy teljes nyelv beágyazva egy sor rendelkezésre álló függvények, pl. getcwd ()
- nagy kiterjedésű mintaillesztés.
- szavak kiegészítése a ctrl-P & ctrl-N segítségével.
- Beépített fájlnavigátor (kissé nehézkes, de hasznos lehet).
- Az ESC kulcs valóban kilép a parancsokból, és menekülj ki ahelyett, hogy (őrülten) futtatnád őket mint a vi.
- Képes parancsokat futtatni az összes pufferen, argon vagy ablakon a bufdo, argdo & windo segítségével.
Megjegyzések
- Valószínűleg átadhatta volna a ” sok-sok ” okot, amelyet a unix.stackexchange.com/a/425597/85039 válaszoljon itt. Ez ‘ egy kicsit jobbá teszi ezt a választ; különben inkább kommentként olvasható, mint tényleges válasz
- Pont. A válasz frissítve, kölcsönvéve egy tegnapi kapcsolódó válaszomból.
Válasz
Észrevettem, hogy csak válassza a Vi
lehetőséget VIM
helyett Másolok és beillesztek egy szöveges dokumentumot vagy konfigurációs fájlt, amelyet cat
paranccsal használtam. Ez azért van, mert amikor megpróbálok ctrl-c
, majd ctrl-v
a VIM
megnyitott dokumentumba, arra kényszeríti az összes sort, hogy egy komment álljon előttük. Tehát amikor a Vi
elemet ctrl-v
vagy paste
elemre használom a Vi
megnyitott dokumentumot pontosan beilleszti, ahonnan másoltam. Ezen kívül egész nap használom a VIM
-t.
Élvez!
Megjegyzések
- Próbálja ki a
:set paste
- set pastetoggle = < F2 > a .vimrc fájlban ( vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste)
vi
szép része az, hogy elvárható, hogy minden POSIX-kompatibilis rendszeren megtalálható legyen.vi
és nemvim
.. Az Ubuntu az egyik leginkább felhasználóbarát terjesztő btw 😉vim
fájlt. Avi
csak egy szimbolikus link, amely végül azvim
-re mutat az alapértelmezett telepítés során.vi
-t avi
POSIX specifikációinak használatával. Így hordozható ismerete van, valamint ismeri a Vim kiterjesztéseket.