Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

ฉันจะกำหนดค่า Vim เป็นตัวแก้ไขเริ่มต้นของฉันบน Linux . ได้อย่างไร

ฉันใช้ Linux มาประมาณ 25 ปีและ Unix สองสามปีก่อนหน้านั้น ในช่วงเวลานั้น ฉันได้พัฒนาการตั้งค่าสำหรับเครื่องมือบางอย่างที่ฉันใช้ทุกวัน เครื่องมือที่สำคัญที่สุดอย่างหนึ่งที่ฉันใช้คือตัวแก้ไข Vim

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

นอกจากนี้ ฉันชอบ Vim มาก

ไฟล์การกำหนดค่าจำนวนมากใช้ Vi แทน Vim และคุณสามารถเรียกใช้ vi สั่งการ. อย่างไรก็ตาม vi คำสั่งเป็นลิงค์ไปยัง vim .

เครื่องมือ Linux จำนวนมากใช้ตัวแก้ไขที่เลียนแบบหรือเพียงแค่เรียก Nano, Emacs หรือ Vim เครื่องมืออื่นๆ บางอย่างช่วยให้ผู้ใช้—เช่น เครื่องมือที่มีการตั้งค่าที่ชัดเจน—เชื่อมโยงไปยังโปรแกรมแก้ไขที่พวกเขาชื่นชอบ ตัวอย่างสองตัวอย่างที่ส่งผลต่อฉันมากที่สุดคือการแก้ไขบรรทัดคำสั่งของ Bash ซึ่งมีค่าเริ่มต้นเป็น Emacs และไคลเอ็นต์อีเมลโหมดข้อความอัลไพน์ซึ่งมีค่าเริ่มต้นเป็นตัวแก้ไข Pico อันที่จริง โปรแกรมแก้ไข Pico นั้นเขียนขึ้นอย่างชัดเจนเพื่อใช้ในไคลเอนต์อีเมล Pine ซึ่งเป็นรุ่นก่อนของ Alpine

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

การแก้ไขบรรทัดคำสั่ง Linux

นอกจากการแก้ไขไฟล์ข้อความจริง ๆ แล้ว เครื่องมืออื่นที่ฉันใช้ที่ต้องแก้ไขมากที่สุดคือ Bash shell ตัวแก้ไข Bash เริ่มต้นคือ Emacs แม้ว่าฉันจะใช้ Emacs แล้ว แต่ฉันก็ชอบ Vim มากกว่า เมื่อหลายปีก่อน ฉันได้เปลี่ยนรูปแบบการแก้ไขเริ่มต้นสำหรับการแก้ไขบรรทัดคำสั่ง Bash จาก Emacs เป็น Vim ซึ่งสะดวกกว่าสำหรับฉันมาก

มีสองวิธีในการกำหนดค่า Bash คุณสามารถใช้ไฟล์การกำหนดค่าในเครื่อง เช่น /home/yourhomedirectory/.bashrc ซึ่งจะเปลี่ยนเฉพาะค่าเริ่มต้นสำหรับบัญชีผู้ใช้ของคุณ ไม่ใช่สำหรับผู้ใช้อื่นในระบบเดียวกัน ฉันชอบที่จะทำการเปลี่ยนแปลงประเภทนี้ทั่วโลก ซึ่งโดยทั่วไปหมายถึงบัญชีส่วนตัวและรูทของฉัน ในกรณีที่สองนี้ คุณสามารถสร้างไฟล์การกำหนดค่าของคุณเองและวางไว้ใน /etc/profile.d ไดเรกทอรี

ฉันเพิ่มไฟล์ชื่อ myBashConfig.sh ถึง /etc/profile.d . มีไฟล์สำหรับเชลล์ที่ติดตั้งทั้งหมดใน /etc/profile.d ไดเรกทอรี ในระหว่างการเรียกใช้เทอร์มินัลเซสชัน แต่ละเชลล์จะอ่านเฉพาะไฟล์ที่ต้องการโดยอิงตามนามสกุลไฟล์ ตัวอย่างเช่น Bash shell อ่านเฉพาะไฟล์ที่มี .sh นามสกุล.

<SNIP>
alias vim='vim -c "colorscheme desert" '
# Set vi for bash editing mode
set -o vi
# Set vi as the default editor for all apps that check this
EDITOR=vi
<SNIP>

เส้น set -o vi ในส่วนไฟล์การกำหนดค่า Bash ส่วนกลางนี้ตั้งค่า Vi เป็นตัวแก้ไขเริ่มต้น -o ตัวเลือกใน ชุด . นี้ คำสั่งกำหนด vi เป็นตัวแก้ไข คุณต้องปิดเซสชัน Bash ที่กำลังทำงานอยู่และเปิดเซสชันใหม่จึงจะมีผล

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

ตั้ง Vim เป็นค่าเริ่มต้นสำหรับโปรแกรมอื่น

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

# echo $EDITOR
/usr/bin/nano
#

โดยค่าเริ่มต้น โปรแกรม Fedora ที่ตรวจสอบ $EDITOR ตัวแปรสภาพแวดล้อมจะใช้ตัวแก้ไขนาโน การเพิ่มบรรทัด EDITOR=vi ตามที่แสดงในตัวอย่างด้านบนถึง myBashConfig.sh เปลี่ยนค่าเริ่มต้นเป็นตัวแก้ไข Vi (Vim) ไม่ใช่โปรแกรมบรรทัดคำสั่งบางโปรแกรมที่ใช้ตัวแก้ไขภายนอกตรวจสอบตัวแปรสภาพแวดล้อมนี้

แก้ไขอีเมลในอัลไพน์

เมื่อไม่กี่สัปดาห์ก่อน ฉันตัดสินใจว่า Pico ใช้งานไม่ดีสำหรับฉันในฐานะเครื่องมือแก้ไขอีเมล ฉันทำให้มันใช้งานได้และใช้งานได้สักพักหลังจากเปลี่ยนจาก Thunderbird มาใช้ Alpine ฉันพบว่า Pico เข้ามาขวางทางฉันเมื่อฉันพยายามใช้ลำดับคีย์ Vim ซึ่งส่งผลต่อประสิทธิภาพการทำงานของฉัน

ฉันอ่านใน Alpine Help ว่าสามารถเปลี่ยนตัวแก้ไขเริ่มต้นได้ ฉันตัดสินใจเปลี่ยนเป็น Vim ซึ่งทำได้ง่ายมาก

บนเมนูหลักของอัลไพน์ ให้กดปุ่ม S คีย์เพื่อเข้าสู่การตั้งค่าแล้ว C สำหรับการกำหนดค่า ใน การตั้งค่าผู้แต่ง ส่วน เลือก เปิดใช้งานคำสั่งตัวแก้ไขสำรอง และ เปิดใช้งานตัวแก้ไขสำรองโดยปริยาย รายการที่มีเครื่องหมาย X . หลายหน้าอยู่ใน การตั้งค่าผู้ใช้ขั้นสูง ให้ค้นหา ตัวแก้ไข ไลน์. ควรมีลักษณะเช่นนี้หากยังไม่ได้เปลี่ยน

Editor    = <No Value Set>

เน้นตัวแก้ไข ตรงกับแถบเคอร์เซอร์ แล้วกด Enter เพื่อแก้ไขบรรทัด เปลี่ยน เป็น กลุ่ม , กด Enter แล้วกดปุ่ม E กุญแจเพื่อออกและ Y เพื่อบันทึกการเปลี่ยนแปลงที่คุณทำ

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

ความคิดสุดท้าย

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

ความสามารถในการเลือกตัวแก้ไขภายนอกที่คุณต้องการนี้ค่อนข้างสอดคล้องกับหลักการ Unix Philosophy "แต่ละโปรแกรมควรทำสิ่งเดียวและทำได้ดี" ทำไมต้องเขียนบรรณาธิการคนอื่นในเมื่อมีคนดีๆ หลายคนอยู่ที่นั่น? และยังเป็นไปตามหลักการของ Linux Philosophy ที่ว่า “ใช้เครื่องมือแก้ไขที่คุณชื่นชอบ”

แน่นอน คุณสามารถเปลี่ยนโปรแกรมแก้ไขโหมดข้อความเริ่มต้นเป็น Nano, Pico, EMACS หรือโปรแกรมอื่นที่คุณต้องการได้