it-swarm-eu.dev

Musí se programátor naučit textové editory jako Emacs a Vim? Jak důležité jsou?

Doposud jsem psal kód v konvenčních textových editorech, které doposud přicházejí s OS, nebo používám IDE v některých případech. Vím, že existují pokročilé textové editory jako Emacs a Vim jsou k dispozici pouze za účelem kodérů. Jak důležité jsou skutečně? Měl by se programátor zabývající se PHP, Python atd. naučit tyto editory? Jaké jsou výhody, že poskytují přes konvenční editory jako Notepad++, Scribes atd.?

43
user22662

Vim je opravdu dobrý nástroj, jakmile se s ním seznámíte.

Spouští se rychleji než kterýkoli jiný IDE nebo textový editor, který jsem použil), má zvýraznění syntaxe a ve většině případů kód správně odráží.

Pomáhá vám také soustředit se na samotný proces kódování, nebudete s ním vůbec pracovat pomocí myši, což vám při psaní kódu ušetří spoustu času.

Má také mnoho doplňků pro cokoli, co děláte.

Emacs jsem nepoužil k upřímnosti, ale jsem si jistý, že jsou tu lidé, kteří se jim to líbí, já osobně nechci po celou dobu stisknout Ctrl nebo Alt.

pravit

Vimova užitečnost také závisí na tom, co píšete.

Pokud jste vývojář rozhraní API (Java, C # ... atd.), Budete s IDE pravděpodobně pohodlnější.

Ale pokud píšete skripty (Bash, Perl ... atd.), Může jít o cestu Vim, protože musíte psát něco rychle, Vim je rychlý a dělá vše, co potřebujete.

30
Mahmoud Hossam

Programátor by se neměl nutně naučit spoustu nástrojů, ale měl by se jich několik naučit a dobře se je učit.

Každý z Emaců a Vimů má své silné stránky, ale pokud je nebudete pravidelně používat, nebudete z nich mít dostatečný prospěch. Zvláště ne, pokud jste učící se programátor.

Vy bude, ale těžíte z dobrého IDE, ale měli byste být také schopni vykonávat skutečnou práci právě díky jednoduchému a jednoduchému editoru.

47
user1249

Důležitost vi je, že ji vždy najdete na jakékoli příchuti UNIX (standardní jak v příchutích SysV, BSD), nebo v UNIX- jako systém. Všimněte si však, že to může být originální vi , nikoli vim . Nejste zaručeni, že máte nainstalovaný jiný editor. Také v Linuxu je to v /bin, takže je k dispozici, i když /usr se nepodařilo připojit.

16
vartec

Jste psací stroj s rychlým dotykem? Přejete si často provádět další klávesové zkratky pro úpravy? Přeruší váš čas přemýšlení čas, který trávíte úpravami? Myslíte si, že máte o svém editoru málo věcí, které byste si přáli přizpůsobit tak, aby fungovaly přesně podle vašich představ? Nevadí vám utrácet potenciálně hodně úsilí dopředu, pokud to znamená, že vám v dlouhodobém horizontu ušetří více času a úsilí? Nevadí vás, že vás lidé považují za anachronické? Pokud ano, pak pro vás může být vhodný vim.

Dáváte přednost tomu, abyste si dokázali zjistit svůj editor bez přečtení manuálu, i když to znamená méně funkcí? Jste pohodlnější používat to, co používají všichni ostatní v kanceláři? Používáte myš na všechno? Pokud ano, pak vim pro vás nemusí být vhodný.

15
Karl Bielefeldt

Myslím, že učení Emacsu (a pravděpodobně i Vima) je velmi užitečné. Proč? Jednoduché: Stejný výjimečně schopný editor mohu použít pro víceméně všechno, co dělám.

To je skvělé, protože jsem student, neustále se učím, jak používat lesklé nové věci. Letos jsem si hrál s Haskellem, udělal jsem spoustu JavaScriptu, použil Scheme, napsal nějakou Javu, popletl se s Perlem, pracoval na webu ... Emacs byl na to všechno skvělý.

V minulosti jsem měl nějaké problémy s různými jazyky: vyzvedl jsem Perl nebo Python, ale nemohl jsem najít ani dobrého editora. Nyní vím, že vždy mohu Emacs používat. Samozřejmě někdy Emacs nemá všechny funkce, které chci, ale vždy má dost funkce z netopýra, které lze použít pro rychlé projekty. U delších projektů může vyžadovat určité úpravy, ale čas potřebný k tomu je pravděpodobně stejný jako získání a učení nového IDE.

Stručně řečeno: Emacs je skvělý, protože podporuje tolik různých jazyků a je dostatečně silný i bez podpory konkrétního jazyka, aby život mnohem zlepšil.

6
Tikhon Jelvis

Ne

Pokud se chcete naučit, jak je používat, nedělejte to v produkčním prostředí. Udělejte to ve svém prostoje nebo časem vyhrazeným konkrétně, abyste si na ně zvykli psát kód. Když získáte více zkušeností, představte je do svého prostředí, ale ponechte program, na který jste zvyklí. Když jsem se rozhodl přejít do čistě textového editoru, držel jsem úvodní stránku, dokud jsem si nebyl jistý, že ji již nepotřebuji.

5
Mallow

Existují alespoň tři důvody , proč se nově razený programátor může rozhodnout strávit nějaký čas učením emacsavi:

  • tradice: Jak vi, tak emacs byli kolem, protože Moses zvedl svůj výstup na kamenných tabletách. Ve skutečnosti může sám Bůh vymyslet buď vi nebo emacs a ďábel druhého, ale dostanete různé odpovědi, kdo vymyslel, podle toho, koho se zeptáte. (Slyšeli jste, že se jedná onáboženskéargumenty, že?) V každém případě tito dva editoři umožnili trochu historie, příběhů a vtipy jejich hojnost. Můžete se cítit neschopní pochopit své kořeny, aniž byste měli nějaké znalosti o obou. Například:

    Kolik uživatelů vi potřebuje změnit žárovku?

    ne, pokud nezapomene nejprve vstoupit do režimu vkládání.*

  • setrvačnost: Existuje spousta lidí, kteří mají emacs a/nebo vi stisknutí kláves do jejich neuronů, jako je vysoké skóre na stroji Defender. Nemyslím si, že by kdokoli držel buď editor jako zářivý příklad moderního designu uživatelského rozhraní, ale protože tolik lidí už tyto příkazy zná, novější editoři často staví na podporu příkazů vi a/nebo emacs. MacOS X je asi tím nejlepším příkladem: můžete použijte překvapivý počet běžných příkazů emacs v jakékoli aplikaci založené na kaka (pokud nejste jedním ztěch peoplea nainstalujte správce vstupů založený na vi ). Mnoho editorů IDE a textových editorů na všech hlavních platformách nabízí klíčové vazby pro vi a/nebo emacs a pravděpodobně bude trvat dlouho. Takže, stejně jako jste se naučili psát na klávesnici QWERTY===============================================================================),.

  • síla: Nejsem si tak jistá, vi, ale lze s jistotou říci, že existuje jen velmi málo editorů, kteří se blíží síle a flexibilitě dostupné v emacs. Nelíbí se vám způsob, jakým něco funguje? Můžete to změnit. Nechceš vypadnout z editoru, abys použil příkazový řádek? Žádný problém - můžete dělat vše, co potřebujete, přímo uvnitř emacsu. Budete muset strávit spoustu času studiem v bažinách Dagobahu, abyste se naučili využívat všechnu tu moc, ale někteří lidé to považují za užitečné, možná dokonce jen kvůli svému vlastnímu účelu. vi je spíš nástroj Leatherman zavěšený na opasku: všestranný, vždy připraven a použitelný pro všechny druhy věcí.

Teď je tedydůležiténaučit se vi a/nebo emacs? Řekl bych, že jeužitečnévědět něco o obou, zvláště proto, že víte alespoň trochu, pokud někdy zjistíte, že je potřebujete použít (možná ). Ale jejich poznání vás nemusí nutně držet zpátky. Je mnohemdůležitějšívědět, jak ovládat nástroje, které denně používáte, co nejefektivněji.

* To není překlep - dostanete to poté, co strávíte první hodinu s vi.

5
Caleb

Pokud se potřebujete naučit editor pro programování, udělejte to emacs. Proč?

Pokud potřebuji udělat otáčky a otevřu emacs, řekni mu, aby našel soubor, který se stane koncem příponou .spec WHAM! Objeví se soubor kostry se všemi značkami a makry, které jsou již vyplněny barevně kódovaným textem.

A pokud se chci podrobit svému oblíbenému řízení verzí, ESC-x load-library Mercurial (nebo git nebo svn) vloží emacs do nálady, aby rozbalil správné příkazy z jeho nabídky řízení verzí nebo aby rozeznal příkazy jako ctrl-x vv k odhlášení nebo odhlášení kódu z úložiště a provedení všeho, co lze s úložištěm udělat.

Únava zraku nastává, když člověk zírá příliš dlouho na stejné barvy. Konsole používám pro okna terminálů a často mění barvy. Vzhledem k tomu, že emacs není v terminálovém okně, mám na výběr více než 50 barevných motivů, některé z nich pohodlně s nízkým kontrastem, jako je Alice Blue, a některé okouzlující euforie, když potřebuji zůstat vzhůru.

Kóduji hodně pythonu. Když potřebuji otestovat nějaké kódování kvůli syntaxi, nenechávám emacs. Spouštím Python interpret) a obrazovka se rozdělí, pak uložím svůj python soubor) a importuji jej do tlumočníka, abych zkontroloval syntaxi - dojde k chybě snadno zřejmé, a mohu to opravit okamžitě. Až budu hotový, můžu přejít do okna, které není plné a pokračovat v práci.

Někteří lidé říkají, že používají vi, a já to používám na některých starších Sunových systémech ... Mám pravidelný rytmus - zasáhnu a vložím znak, pak zasáhnu útěk a zasáhnu znovu a znovu napíšu další znak ... (sotva lepší než ed, ale to je to, co je k dispozici).

Moje první instalace na jakýkoli nový systém je obvykle horlivá. GNU zile je emacs bez veškerého oblékání okna, jako je procházení a e-mail a irc a colours, pouze binární kód s kódem C, který pracuje asi 100 tis. A používá emacs klíčové kódy.

Pokud by emacs byl tak obtížný, jak se většina snaží, aby to znělo, mělo by být úžasné, že tolik lidí bylo obžalovaných pro sebepoznačení tím, že vytvořili editory podobné emacsům. MINCE is not Complete Emacs, 31 příchutí mikro-emaců, Jed, Zile, Joe a oddball python kódování nebo dva plus webové YMacs), jsou všechny emacsen. Peppy http://peppy.flipturn.org/ je něco jiného, ​​používá emacs klíčové kódy a je kódováno v Python a bude upravovat téměř vše, včetně kousků binárních dat) a to má desítky režimů pro programovací jazyky, ale jeho paradigma keycodingu je emacsen.

Ano, emacs stojí za to se učit, a stejně tak i vi. Ze zbytku je možná Eclipse stejně užitečný, pokud vydržíte prastarost jeho mnoha příloh. A pokud potřebujete něco opravdu malého, lehkého a rychlého, podívejte se na e3. Verze x86 je napsána v assembleru a slouží mnoha sadám kódů klíčů, včetně Emacs a Vi. https://sites.google.com/site/e3editor/

A ano, otevřu emacs, napíšu 17 stránek a BLAP! Úder blesku a moje síla zhasne. Když se obnoví napájení, podívám se na práci a zjistím, že jsem ztratil posledních 7 znaků, které jsem zadal .... A pokud se rozhodnu postupovat podle postupu „obnovit havarovanou relaci“, mohu ji snížit na 2 ztracené.

Pythonův kód nevěří v odsazení, na nich ZÁVISÍ. Emacs si je toho vědoma a zajišťuje, aby vaše odsazení bylo správné. Ale pokud se rozhodnete odstranit „if“, budete mít celou oblast ve špatném stavu odsazení. U emaců to vyřešíte:

ctrl-mezerník a šipky pro zvýraznění oblasti

ctrl-c <překoná veškerý zvýrazněný kód. (ctrl-c> ji opět správně odráží).

Myslím, že jsem použil více než 60 editorů, a přesto ten, ke kterému se vracím, je emacs, ne proto, že mohu získat útržky funkčních kódů v C nebo správné odsazení nebo barevné kódování, ale protože jej mohu přizpůsobit nad rámec svých již úžasných schopností. . Mozek dítěte Richarda Stallmana byl upraven tolika ...

3
Michael Moore

V dnešní době je popularita nejrůznějších editorských editorů nejpravděpodobnější z knihy Pragmatic Programmer book,

nebo, přesněji, od čtenářů, kteří bezmyšlenkovitě nacpali Kapitola 3 Základní nástroje -> Úpravy výkonu -> Jeden editor, ale zcela zmeškali klíč (pragmatický!) s sebou uvedený v kapitole Předmluva:

Nejsou žádné snadné odpovědi. Neexistuje nic jako řešení nejlepší, ať už jde o nástroj, jazyk nebo operační systém. Mohou existovat pouze systémy, které jsou vhodnější za určitých okolností.

To je místo, kde přichází pragmatismus. Neměli byste být zapojeni do žádné konkrétní technologie, ale měli byste mít dostatečně široké zázemí a zkušenosti, abyste si mohli vybrat dobrá řešení v konkrétních situacích ...

Upravíte svůj přístup podle aktuálních okolností a prostředí. Posuzujete relativní důležitost všech faktorů ovlivňujících projekt a využíváte své zkušenosti k vytváření vhodných řešení. A děláte to průběžně, jak práce pokračuje.

Pokud někdo získá obecné porozumění jako výše, kniha sama o sobě stojí za přečtení. Hlavní myšlenka, kterou je třeba mít na paměti, je taková, kterou autoři jasně a jednoznačně uvedli „neexistuje nic jako nejlepší řešení“ .

3
gnat

Emacs ani vi nejsou určeny výhradně pro kódování; prostě podporují funkce, které usnadňují psaní kódu.

vi jedinou ctností je jeho všudypřítomnost; jakýkoli unixový nebo Linuxový systém bude mít implementaci vi. Je to světlejší roky přátelštější než TECO bylo, ale používá se i skica Etch-a-Sketch. To znamená, že vi je můj primární editační nástroj v relaci terminálu, jednoduše proto, že jsem nikdy neměl šířku pásma, abych se to naučil a emacs současně (a emacs příliš zatraceně mnoho kombinací keycode).

Nemusíte se učit žádný nástroj; existují další kvalitní textové editory, které podporují mnoho stejných funkcí v přátelštějším formátu.

2
John Bode

Nemusíte se učit Vi nebo Emacs, musíte se učit své nástroje. Představte si odstřelovače, který neví dobře, jaké má jeho pušky a schopnosti, nebyl by dobrý odstřelovač? By ho?

Tak jděte do toho a najděte editora, který se vám líbí, možná se vám bude líbit Emacs, Vim, Textmate, Sublime Text ... sakra, možná se vám nelíbí a jste v pořádku s Nano, ale záleží na tom, že jste v pohodě s vašimi nástroji.

1
dysoco