Vim and Emacs: All Quiet Up Front

หมู่ สงครามศักดิ์สิทธิ์ ตำนานที่สุดที่เราทราบคือสงครามผู้เผยแพร่โฆษณา Vi / Vim กับ Emacs สิ่งนี้สนุกเป็นพิเศษเพราะเป็นซอฟต์แวร์ฟรีที่มีความสามารถสูงมาก

นี่ย้อนกลับไปหลายปี Emacs ได้รับการพัฒนาโดย Richard Stallman ในปี 35 เปิดตัวเมื่อประมาณ 1991 ปีที่แล้ว Vi มีอายุไล่เลี่ยกันสร้างโดย Bill Joy ในทางกลับกัน Vim เป็นสิ่งที่ใหม่กว่าและเกิดขึ้นจากความต้องการให้ Bram Moolenar สร้างร่างโคลนของ Vi สำหรับ Amiga ในปี XNUMX

ย้อนยุคขนาดไหน! ผู้เผยแพร่จากยุคหินเมื่อชีวิตเรียบง่ายขึ้น และเรายังคงใช้มันต่อไปเพราะมันมีวิวัฒนาการและปรับให้เข้ากับยุคสมัย Vim และ Emacs ใช้อินเทอร์เฟซที่ทันสมัยใน GTK พวกเขามีภาษาส่วนขยายของตัวเองผู้จัดการแพ็คเกจ เหนือสิ่งอื่นใดที่ทำให้พวกเขาอยู่ในหมู่บรรณาธิการ ทันสมัย.

ฉันจะใช้มันเพื่ออะไร?

ลองใส่สถานการณ์สมมติที่สมบูรณ์ Gúgolเป็นคำทางคณิตศาสตร์ที่กำหนดหนึ่งตามด้วยหนึ่งร้อยศูนย์ เราจะเขียนมันในโปรแกรมแก้ไขข้อความได้อย่างไร?

วิธีแก้ปัญหาแรกที่ควรคำนึงถึงคือพิมพ์หนึ่งและกดแป้น 0 จนกระทั่งตัวนับคอลัมน์ตั้งค่าฉันเป็น 101 เนื่องจากอักขระ 101 ควรวัดนิพจน์นี้ เราสมมติว่าเราแก้ไขสิ่งนี้ในโปรแกรมแก้ไขข้อความที่มีความสามารถซึ่งมีแถบสถานะเพื่อแสดงสิ่งเหล่านี้

ตอนนี้ฉันคิดวิธีแก้ปัญหาที่ง่ายกว่านี้ได้:

i1ESC 100a0ESC

แน่นอนว่าวิธีนี้ต้องใช้ Vim หรืออย่างน้อยก็ Vi เขา คำสั่ง ค่อนข้างง่ายและเหมือนกับว่าเรากำลังพูดกับ Vim: อยู่ในโหมดปกติให้แทรก 1 และกลับสู่โหมดปกติ ตอนนี้ใส่หลังเคอร์เซอร์ร้อยครั้ง 0 และกลับสู่โหมดปกติ กลุ่มจะดำเนินการตามคำสั่งของเราโดยไม่มีคำถาม

ความซับซ้อน

วิธีนี้ฟังดูซับซ้อนมากและฉันเข้าใจ ประการแรกเนื่องจากเรากำลังจัดการกับแนวคิดของไฟล์ เครื่องมือแก้ไขโมดอล. แต่มีหลายกรณีที่มีประโยชน์มากกว่าที่คิด

สมมติว่าเรามีรายการช้อปปิ้ง เรากำลังจะไปที่ร้านและเราต้องการเขียนสิ่งที่เราจะนำมา จำไว้ว่ามันเป็นเรื่องสมมุติไม่มีใครควรเอาคอมพิวเตอร์ไปที่ร้านเพื่อไปหาอาหาร อย่างไรก็ตามนี่คือรายการของเรา:

1 กล้วย 4 แอปเปิ้ลน้ำตาล 2 กิโลน้ำ 1 ลิตร

เป็นรายการช้อปปิ้งที่ง่ายมาก แต่เรากำลังจะเตรียมการบางอย่าง อย่างแรกฉันคิดว่ากล้วยอีกสักสองสามลูกก็ไม่เลว ในขณะที่เราชอบสุนทรียศาสตร์เราจะเปลี่ยนตัวพิมพ์เล็กใน แอปเปิ้ล ที่จะปล่อยให้เธอเป็น กล้วย และเราจะแทนที่ชื่อของหน่วยด้วยตัวย่อ

มาเริ่มกันเลย เนื่องจากเราต้องการสำรองข้อมูลรายการเดิมของเราเราจึงทำสำเนาด้วย 4yy และวางไว้ด้านล่างด้วย p. กด Ctrl สองสามครั้งเพื่อเพิ่มจำนวนกล้วยและเลื่อนไปที่ท้ายคำถัดไปด้วย e. เราลงไปที่บรรทัดที่สองเราทำ a Fm เพื่อไปที่คำว่าแอปเปิ้ลแล้วกด ~ (AltGr-4 บนแป้นพิมพ์ของฉัน) เพื่อให้ตัวอักษรเปลี่ยนเป็นเวอร์ชันตัวพิมพ์ใหญ่ เราทำไฟล์ j เพื่อลงไปที่บรรทัดถัดไปและเราจะปรากฏใน k ของ ปอนด์ กับ b. เราออกจากโหมดปกติโดยการพิมพ์ cw และเขียนคำแทนสำหรับกิโลกรัมซึ่งจะเป็นกิโลกรัม เรากด ESC กลับสู่โหมดปกติและอีกครั้ง j ทำเช่นเดียวกันกับ ลิตร. พร้อม. นี่คือลักษณะรายการของเราตอนนี้

3 กล้วย 4 แอปเปิ้ลน้ำตาล 2 กก. น้ำ 1 ลิตร

พลัง

สรุปการดำเนินการข้างต้นในสิ่งนี้:

4yy G p 2Ctrl-A e Fm ~ jb cw kg ESC jb cw L ESC

ฉันเคารพช่องว่างบางอย่างเพื่อให้เข้าใจได้ แต่มักจะไม่ทำ คำสั่งของหุ่นยนต์นี้ทำให้เราคิดมากเกี่ยวกับประโยชน์ของมัน แต่แน่นอนว่าจะทำได้เร็วกว่าการเลื่อนเมาส์เลือกคัดลอกวางลบและอื่น ๆ

บรรณาธิการตราบใดที่ Vim หรือ Emacs สามารถทำสิ่งนี้ได้เนื่องจากได้รับการพัฒนามาหลายปีและมีแนวคิดที่ชัดเจนในการทำสิ่งต่างๆ

การเรียนรู้เส้นโค้ง

ใช่พวกเขาสูงชัน แต่นั่นคือสิ่งที่ความคิดริเริ่มเช่น Cream มีไว้สำหรับซึ่งมอบสภาพแวดล้อม Vim ที่พร้อมใช้งานได้ทันทีโดยไม่ต้องต่อสู้กับโหมดและสิ่งต่างๆและโหมดกูรูซึ่งเป็นส่วนขยายของ Emacs ที่ - เท่าที่ฉันรู้ - ช่วยผู้เริ่มต้น

โหมดกูรูเป็นส่วนหนึ่งของ Emacs Prelude ซึ่งเป็นชุดส่วนขยาย อะไรทำให้มันง่ายสำหรับคุณ หากคุณต้องการเรียนรู้

ส่วนขยาย

เนื่องจากเป็นบรรณาธิการที่แพร่หลายมากกว่าบรรณาธิการสมัยใหม่หลาย ๆ คนและมีภาษาส่วนขยายของตัวเองคุณจึงสามารถค้นหาธีมสีปลั๊กอินและอื่น ๆ ได้ มีสิ่งที่น่าสนใจเช่น:

ดูเหมือนว่าจะง่ายกว่า (หรือน่าพอใจกว่า) ในการเขียนโปรแกรมส่วนขยายใน Emacs Lisp มากกว่าใน VimScript ฉันหมายความว่ามันเป็นภาษาที่ใช้งานได้ซึ่งตีความโดยเคอร์เนลที่สร้างขึ้นเพื่อสิ่งนั้นเทียบกับภาษาที่จำเป็นที่สร้างขึ้นเพื่อกำหนดค่าและขยาย

ข้อสรุป

ลองดูสิ! ไม่มีค่าใช้จ่ายใด ๆ ทั้งสองซอฟต์แวร์ฟรีแจกจ่ายให้ฟรี พวกเขาต้องอยู่ในที่เก็บของการแจกแจงทั้งหมดที่มนุษย์รู้จักและสามารถพบได้ในระบบกรรมสิทธิ์ของ malefic มีอีกไม่มากที่จะขอ

และสุดท้ายถ้าคุณแปลกใจว่าทำไมฉันถึงใส่ e ก่อน Emacs ในชื่อเรื่องแทนที่จะเป็น y ก็เป็นเพราะว่ามันฟังดูดีกว่าสำหรับฉัน บางอย่างเช่น / í-macs /. ฉันสามารถแก้ปัญหาการสะกดคำด้วยการเปลี่ยนตำแหน่ง แต่ฉันชอบให้ Vim ทำแบบนั้นจริงๆ😀


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   โรตส์ 87 dijo

    ฉันใช้นาโนและแก้ไขไฟล์บางไฟล์เท่านั้น 0.0

    1.    ป้องกัน dijo

      ส่วนใหญ่เป็นข้อโต้แย้งสำหรับการใช้งาน ฉันเห็นว่าหลายคนไม่ชอบที่จะลองพวกเขาและฉันก็เริ่มเขียนบางอย่างเพื่อให้กำลังใจพวกเขา แค่นั้นแหละ.

      (ฉันรู้ว่ามันเป็นจุดอ่อน)

      1.    เดเมียนริเวร่า dijo

        ไม่ได้ขี้เกียจเลย emacs และ vim เป็นโปรแกรมแก้ไขข้อความที่ยอดเยี่ยมฉันชอบพวกเขา (vim) แทนที่จะเป็น IDE

        ความนับถือ

        1.    ป้องกัน dijo

          ขอขอบคุณ. ตอนนี้ฉันคิดเกี่ยวกับมันฉันคิดว่าฉันบังเอิญให้ตัก 'การกระจาย' ที่ฉันพูดถึงดูเหมือนเพิ่งเปิดตัวในวันนี้

    2.    KZKG ^ กาอาระ dijo

      ฮ่าฮ่าฮ่ามันเกิดขึ้นกับฉันเหมือนกันกับนาโนฉันเหลืออยู่😀

  2.   Eolandro dijo

    เมื่อเร็ว ๆ นี้ฉันต้องแก้ไขไฟล์โดย telnet ในจุดเชื่อมต่อด้วย dd-wrt และฉันต้องจำ vi

  3.   MSX dijo

    1. " มีสงครามผู้เผยแพร่ »
    ข้อผิดพลาด!
    Vim เป็นเครื่องมือแก้ไข Emacs คือเครื่องจับโครเมี่ยมที่พร้อมใช้งานบนคอมพิวเตอร์ของคุณคุณก็รู้!

    2. การใช้ Cream (ajjj) หรือ "ตัวช่วย" ใด ๆ สำหรับ Vim หรือ Emacs นั้นเหมือนกับการติดตั้ง Manjaro และแสร้งทำเป็นว่าคุณติดตั้งและใช้ Arch - โดยมีข้อแม้ที่เป็นไปได้ที่ผู้ช่วยจะไม่เปลี่ยนสาระสำคัญของ Vim หรือ Emacs และ Manjaro คือ Manjaro แต่ไม่ใช่ Arch

    หากคุณต้องการที่จะสนุกกับ Emacs จริงๆมีเว็บไซต์เจ๋ง ๆ :
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    ป้องกัน dijo

      Emacs เป็นล่าม Lisp ที่มีคุณสมบัติเพิ่มเติมสำหรับการแก้ไขข้อความ
      ครีมอาจเป็นอะไรก็ได้ที่คุณต้องการ แต่มันอยู่ที่นั่นเพื่อที่ผู้เริ่มต้นจะไม่ชนกับผนังของโมดอลโดยตรง
      Emacs ค่อนข้างง่ายกว่าในตอนแรกเพราะ ใช่เขียนถึงคนแรก

  4.   แอนนูบิส dijo

    [โหมด falmewar เปิด]

    Emacs ซึ่งเป็นระบบปฏิบัติการที่ 35 ปีต่อมายังขาดโปรแกรมแก้ไขข้อความที่ดี😛

  5.   xykyz dijo

    "เป็นกลุ่มและอีแมค". มีการใช้ "e" ในชื่อเรื่อง (และบางส่วนในข้อความ) ผิด ...

    1.    xykyz dijo

      และโดยวิธีการที่ฉันใช้ vim สำหรับทุกอย่างอยู่แล้ว ฉันเริ่มใช้เมื่อปีที่แล้วและตอนนี้มันกลายเป็นสิ่งที่ขาดไม่ได้สำหรับฉัน นอกจากนี้ยังมีข้อได้เปรียบที่มีการติดตั้ง vi ไว้ล่วงหน้าทั้งหมด (หรืออย่างน้อยก็เกือบทั้งหมด) ซึ่งเกือบจะเหมือนกันในการจัดการดังนั้นการรู้วิธีใช้งานคุณสามารถแก้ไขไฟล์ในการแจกจ่ายใด ๆ ไม่ว่าจะมี X11 หรือไม่ก็ตาม

      ฉันได้ลองใช้ Emac แล้ว แต่ดูเหมือนว่าพวกเขาใช้แป้นพิมพ์ร่วมกันไม่สะดวกดังนั้นฉันจึงเน้นที่ Vim

    2.    ป้องกัน dijo

      เขาอธิบายไว้ด้านล่างแล้ว สำหรับผมว่าควรใช้อย่างไร e เพราะวลีดูเหมือน / vim และ i-macs /สังเกตว่า y เปลี่ยนเป็น e เมื่อคำถัดไปขึ้นต้นด้วยเสียง i
      อย่างไรก็ตามการวางไว้ข้างหลังและหลีกเลี่ยงปัญหานั้นสวยงามกว่ามาก แต่การทดลองเพียงเล็กน้อยไม่ได้ทำร้ายใคร

      1.    xykyz dijo

        โอเคฉันไม่ได้อ่านบทความทั้งหมดเนื่องจากไม่มีเวลาฮ่าฮ่า

        มันก็ยังสะกดผิดอยู่ดีเท่าที่ฟังดูดีกว่า

        1.    ป้องกัน dijo

          ไม่เป็นไร. ไม่มีอะไรแปลกไปกว่านี้ที่จะวิจารณ์โดยไม่อ่านให้จบ
          ฉันหวังว่าคุณจะแก้ตัวสำหรับการขาดนี้ ดูเหมือนว่าในการตรวจสอบพวกเขาก็ผ่านด้วยดังนั้นพวกเขาจึงต้องเห็นด้วยกับฉัน แต่ควรมีการตรวจสอบการอ้างอิงบางส่วนจาก RAE สำหรับคำต่างประเทศ สิ่งเหล่านี้ไม่สามารถแปลได้

          1.    xykyz dijo

            ใช่ฉันยังทำไม่เสร็จฉันยอมรับความผิดพลาด แต่ช่วงนี้ฉันไม่มีเวลาและฉันไม่สามารถอยู่ใกล้ ๆ ได้มากเท่าที่ต้องการ ในความเป็นจริงมันแปลกมากที่ในที่สุดฉันก็อยู่ที่นี่สักครู่ในวันนี้

            สำหรับคำต่างประเทศการรวม 'และ' ไม่ใช่คำต่างประเทศแม้ว่า emacs จะเป็น จากสิ่งที่ฉันเข้าใจ (ซึ่งฉันยังไม่มีเวลาตรวจสอบในตอนนี้) emac ควรอ่าน emacs ไม่ว่าเราจะอ่านเป็นภาษาอังกฤษมากแค่ไหนก็ตาม มิฉะนั้นจะเป็นการยากที่จะใช้กฎการสะกดคำเพราะถ้าคุณพูดภาษาสเปนคุณไม่จำเป็นต้องพูดภาษาอังกฤษหรือภาษาเยอรมันดังนั้นคุณจึงไม่จำเป็นต้องรู้ว่าคำเหล่านั้นออกเสียงอย่างไรในภาษาเหล่านั้น

            อย่างไรก็ตามมันไม่ใช่คำวิจารณ์เป็นเพียงความคิดเห็นและฉันจะบอกคุณจากนี้ว่าฉันชอบบทความของคุณเสมอ😉

        2.    ป้องกัน dijo

          ขอขอบคุณ. ข้อเสนอแนะและคำวิจารณ์ที่สร้างสรรค์ให้บริการเราทุกคน

  6.   ไดอะซีแพน dijo

    ฉันไม่ชอบใช้มัน แต่ในหลักสูตร Advanced Functional Programming คุณต้องสร้าง Vim-type editor แต่ใน haskell

  7.   ไทโอ 100 dijo

    ฉันชอบ vi หรือ vim เพราะมันเป็นสากลที่สุดเนื่องจากมันทำงานเหมือนกันในระบบปฏิบัติการใด ๆ และทั้งหมด * nix รวมไว้และโดยทั้งหมดฉันหมายถึงทุกคนจาก GNU / Linux, HP-UX, Solaris, AIX, BSD ไปจนถึง Linux เวอร์ชันที่สั้นลง เป็น dd-wrt

  8.   Abimael martell dijo

    ฉันโปรแกรม 100% ด้วย VIM (Ruby, PHP, Javascript, Coffescript, CSS และอื่น ๆ )
    นี่คือการแจกจ่ายสำหรับโปรแกรมเมอร์ทับทิมมันสมบูรณ์มากและมีประโยชน์มากมายคำทักทาย (https://github.com/carlhuda/janus)

    1.    เดเมียนริเวร่า dijo

      มันคือสิ่งที่ฉันพูด (ด้านบน) ฉันใช้ vim สำหรับ mono, java, perl, bash และ python เท่านั้นที่ภาษาที่ไม่ตีความต้องใช้เทอร์มินัลเพื่อคอมไพล์ใน FreeBSD ฉันใช้ (และใช้) VI จำนวนมากซึ่งเป็นตัวแก้ไข พื้นเมือง แต่ยังติดตั้ง ee และ joe ที่ดีมาก (คล้ายกับ nano) ใน Gentoo สิ่งที่ดีคือมันนำนาโนมา แต่ฉันรวบรวม vim แล้วและฉันชอบมาก! เป็นเครื่องมือแก้ไขที่ดีที่สุดและปรับเปลี่ยนตามความต้องการของคุณเป็นเครื่องมือที่สมบูรณ์แบบสำหรับการดูแลระบบ

      ความนับถือ

  9.   Matias (@ W4t145) dijo

    Vim Vim Vim! ตลอดไปมันใช้ได้กับทุกอย่างและทุกที่ฉันไม่เคยเปลี่ยนมัน

  10.   นาโน dijo

    อืมฉันไม่รู้ฉันขี้เกียจและฉันใช้ Sublime xD

  11.   แดเนียล โรจาส dijo

    ฉันใช้ Vim มาตลอดฉันชอบมันมากและฉันพบว่ามันใช้งานได้จริงและสะดวกสบาย😀

  12.   ดราก้อนเนลล์ dijo

    เป็นกลุ่มที่สำคัญในชีวิตประจำวันของฉัน

  13.   กุยโดโรลอน dijo

    เป็นกลุ่มกฎ! แต่« ed » ROCKS !!!!,

  14.   เป็นกลุ่ม dijo

    Vim orange เขียน fine vim cristal เขียนปกติ vim vim vim ...

  15.   โยเกิร์บลังโก dijo

    คุณควรเรียนรู้ความแตกต่างระหว่าง "เพราะ" "ทำไม" "ทำไม" และ "ทำไม" ชายในข้อความทั้งหมดคุณไม่ได้ให้มาแม้แต่ข้อเดียว