Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 125

Автор Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½

Π’ Unix доступны Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ дСсятки тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². НаписаниС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, вСроятно, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· стандартных практичСских ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ для ΠΏΠΎΠ΄Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄Π΅ΠΆΠ΄Ρ‹ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ² Π² сообщСствС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½Ρ‹, ΠΎΠ½ΠΈ Π½Π΅ подходят для ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования ΠΊΠ΅ΠΌ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ². НСкоторыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ He-Unix-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π² качСствС Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½Ρ‹Ρ… срСдств для программистов, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΡˆΠΈΡ… ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ систСмам. Π¨ΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² доступСн Π½Π° сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° SourceForge, ibiblio ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… основных Π°Ρ€Ρ…ΠΈΠ²Π°Ρ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°.

Π’ качСствС инструмСнтов для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² сфСрС Unix-программирования ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π²Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… доступСн Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, нСсомнСнно, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² любой соврСмСнной Unix-систСмС. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… vi ΠΈ Emacs. Они Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ Π² Π³Π»Π°Π²Π΅ 13 ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΡ‹ цСлСсообразного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π² Π³Π»Π°Π²Π΅ 13, Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ Ρ€Π΅Π·ΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… философий проСктирования, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ популярными срСди ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π³Π΅Π½Ρ‚Π°. ΠžΠΏΡ€ΠΎΡΡ‹ Unix-программистов Π½Π΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ 50/50 ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ доля всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² минимальна.

Π Π°Π½Π΅Π΅ ΠΏΡ€ΠΈ рассмотрСнии vi ΠΈ Emacs основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΡΠ»ΠΎΡΡŒ ΠΈΡ… Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ слоТности ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ вопросам философии проСктирования. МногиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ аспСкты Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² достойны изучСния ΠΊΠ°ΠΊ с практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Ρ‚Π°ΠΊ ΠΈ с Ρ‚.ΠΎΡ‡ΠΊΠΈ зрСния ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½ΠΎΠΉ грамотности Π² Unix-сообщСствС.

15.2.1.Β ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ свСдСния ΠΎ vi

НазваниС vi β€” Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΎΡ‚ "visual editor" (Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€), произносится ΠΊΠ°ΠΊ "Π²ΠΈ Π°ΠΉ" (Π° Π½Π΅ "Π²Π°ΠΉ" ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ "ΡˆΠ΅ΡΡ‚ΡŒ").

vi Π½Π΅ Π±Ρ‹Π» самым Ρ€Π°Π½Π½ΠΈΠΌ экранным Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. Пальма пСрвСнства Π² этой области ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Rand editor (re), которая Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π² Version 6 Unix Π² 1970-Ρ… Π³ΠΎΠ΄Π°Ρ…. Однако vi β€” самый Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡŽΡ‰ΠΈΠΉ экранный Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, созданный для Unix, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ являСтся "свящСнной" ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ Unix.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ вСрсия vi Π±Ρ‹Π»Π° Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² самых Ρ€Π°Π½Π½ΠΈΡ… дистрибутивах BSD начиная с 1976 Π³ΠΎΠ΄Π°; Π² настоящСС врСмя ΠΎΠ½Π° устарСла. Π”Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ "new vi", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поставлялся с 4.4BSD ΠΈ имССтся Π² соврСмСнных Π΅Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ BSD/OS, FreeBSD ΠΈ NetBSD. БущСствуСт нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ функциями, особСнно vim, vile, elvis ΠΈ xvi, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… vim, вСроятно, являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярным ΠΈ поставляСтся Π² составС ΠΌΠ½ΠΎΠ³ΠΈΡ… Linux-систСм. ВсС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ довольно ΠΏΠΎΡ…ΠΎΠΆΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ основной Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΉ со Π²Ρ€Π΅ΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ вСрсии vi.

ВСрсии vi доступны для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows ΠΈ MacOS.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Unix Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Π³Π»Π°Π²Ρƒ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΡƒΡŽ основноС использованиС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° vi. ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΏΠΎ использованию vi доступны Π½Π° сайтС Editor FAQ/vi <http: //www. f aqs . org/f aqs/ editot-faq/vi/>. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΉ страницы ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ поиска Π² Web страниц, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ слова "vi" ΠΈ "FAQ".

15.2.2.Β ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ свСдСния ΠΎ Emacs

Emacs ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ "EDiting MACroS" (произносится "ΠΈ-макс"). Он ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» написан Π² ΠΊΠΎΠ½Ρ†Π΅ 1970-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ макросов Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ назывался Π’Π•Π‘Πž, послС Ρ‡Π΅Π³ΠΎ пСрСписывался нСсколько Ρ€Π°Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. Π—Π°Π±Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ соврСмСнныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Emacs Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Ρ€Π΅ΠΆΠΈΠΌ эмуляции Π’Π•Π‘Πž.

Π Π°Π½Π΅Π΅ ΠΏΡ€ΠΈ обсуТдСнии Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ слоТности ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Emacs Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ тяТСловСсным. Однако Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π΅Π³ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΊΡƒΠΏΠ°ΡŽΡ‚ΡΡ впослСдствии ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ продуктивности. Emacs ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство ΠΌΠΎΡ‰Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² рСдактирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ с синтаксисом Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π”Π°Π»Π΅Π΅ Π² настоящСй Π³Π»Π°Π²Π΅ рассматриваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Emacs Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ срСдствами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ возмоТности, сравнимыС (Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях прСвосходящиС) с возмоТностями Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… IDE-срСд.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ вСрсиСй Emacs, повсСмСстно доступной Π½Π° соврСмСнных Unix-систС-ΠΌΠ°Ρ…, являСтся GNU Emacs; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ запускаСтся ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ emacs Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Unix-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ докумСнтация ΠΏΠΎ GNU Emacs доступны Π½Π° сайтС Π°Ρ€Ρ…ΠΈΠ²Π° Π€ΠΎΠ½Π΄Π° свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния <ftp://gnu.org/pub/gnu>.

БущСствуСт Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся XEmacs. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ Π₯-интСрфСйс, Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ‚Π΅ ΠΆΠ΅ возмоТности (унаслСдованныС ΠΎΡ‚ Emacs 19). Π”ΠΎΠΌΠ°ΡˆΠ½ΡΡ страница XEmacs: <http://www.xemacs.org>. Emacs (ΠΈ Emacs Lisp) повсСмСстно доступны Π² соврСмСнных Unix-систСмах. Он пСрСнСсСн Π½Π° MS-DOS (Π³Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ слабо), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Windows 95 ΠΈ NT (Π³Π΄Π΅, ΠΊΠ°ΠΊ говорят, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ достаточно Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ).

Emacs Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя собствСнноС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ руководство ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ ΠΏΠΎ запуску Π΄Π°Π½Π½Ρ‹Ρ… рСсурсов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° стандартном экранС запуска Emacs. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ являСтся ΠΊΠ½ΠΈΠ³Π° "Learning GNU Emacs" [10].

ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Unix-вСрсиях Netscape/Mozilla, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² тСкстовых ΠΎΠΊΠ½Π°Ρ… Internet Explorer (Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅), скопированы со стандартных привязок для основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рСдактирования тСкста. Π”Π°Π½Π½Ρ‹Π΅ привязки β€” блиТайшиС элСмСнты ΠΊ кроссплатформСнному стандарту ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

15.2.3. "АнтирСлигиозный" Π²Ρ‹Π±ΠΎΡ€: использованиС ΠΎΠ±ΠΎΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²

МногиС люди, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° vi ΠΈ Emacs, склонны ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ находят вСсьма Ρ†Π΅Π½Π½Ρ‹ΠΌΠΈ прСимущСства использования ΠΎΠ±ΠΎΠΈΡ….

Π’ΠΎΠΎΠ±Ρ‰Π΅, vi Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅Π»ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ β€” быстрого написания ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° письма, простых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ систСмы ΠΈ Ρ‚.Π΄. Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Π½ΠΎΠ²ΠΎΠΉ систСмС (ΠΈΠ»ΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ систСмС Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ), ΠΊΠΎΠ³Π΄Π° Π½Π΅ доступны Ρ„Π°ΠΉΠ»Ρ‹ настроСк Emacs.

Роль Emacsβ€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ сСансы рСдактирования, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСанса. Для программистов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… систСму X Π½Π° своих консолях (Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎ для соврСмСнных Unix-систСм), считаСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Emacs сразу послС рСгистрации Π² систСмС Π² большом ΠΎΠΊΠ½Π΅ ΠΈ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ постоянно, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, просматривая дСсятки Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ запуская ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² многочислСнных ΠΏΠΎΠ΄ΠΎΠΊΠ½Π°Ρ… Emacs.

15.3. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ спСциализированного ΠΊΠΎΠ΄Π°

Unix ΠΈΠΌΠ΅Π΅Ρ‚ давнюю Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. Π”Π°Π²Π½ΠΈΠΌΠΈ "ΠΌΠΎΠ½ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ" Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ "уходят корнями" Π² Version 7 ΠΈ Ρ€Π°Π½Π½ΠΈΠ΅ Π΄Π½ΠΈ Unix, Π° Ρ‚Π°ΠΊΠΆΠ΅ фактичСски использовались для написания ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Portable Π‘ Compiler Π² 1970-Ρ… Π³ΠΎΠ΄Π°Ρ…, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ 1Π΅Ρ…(1) ΠΈ уасс(1). Π˜Ρ… соврСмСнными совмСстимыми ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ /1Π΅Ρ…(1) ΠΈ bison(1), Ρ‡Π°ΡΡ‚ΡŒ GNU-инструмСнтария, которая Π΄ΠΎ сих ΠΏΠΎΡ€ интСнсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π² наши Π΄Π½ΠΈ. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ послуТили ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŽ интСрфСйсов Glade Π² GNOME.

15.3.1. уасс ΠΈ lex