ค้นหาเว็บไซต์

เชลล์ Linux นี้ให้คุณสมบัติของเทอร์มินัลที่ Bash ลืมเพิ่ม


การตั้งค่าเทอร์มินัล Linux สำหรับเวิร์กโฟลว์สมัยใหม่อาจดูน่ากลัว อย่างไรก็ตาม มันยังคงเป็นงานที่สำคัญ เนื่องจากเชลล์ Bash เริ่มต้นไม่ได้พัฒนาระดับเดียวกับเดสก์ท็อปสมัยใหม่ เทอร์มินัลควรทำได้มากกว่าแค่รันสคริปต์อัตโนมัติ มันควรสนับสนุนการโต้ตอบอย่างราบรื่นกับ Git, Docker, ตัวจัดการแพ็กเกจ และเซสชัน SSH

ที่น่าสนใจคือ shell fish เป็นการอัปเกรดที่ซ่อนอยู่ซึ่งคุณสามารถรับได้โดยตรงจากตัวจัดการแพ็กเกจของคุณ และมันเปลี่ยนทุกอย่างสำหรับฉัน Fish รับฟีเจอร์ของ Linux รุ่นใหม่เป็นมาตรฐานพื้นฐาน และมันเป็นหนึ่งในคำแนะนำที่ดีที่สุดและง่ายที่สุดที่ฉันสามารถแนะนำให้ใครก็ได้

ปลาเริ่มช่วยเหลือก่อนที่คุณจะพิมพ์เสร็จ

เชลล์รู้สึกตอบสนองน้อยลงและตระหนักมากขึ้นว่าคุณกำลังพยายามทำอะไร






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

มันเป็นการเปลี่ยนแปลงเล็กๆ ที่กลายเป็นสิ่งสำคัญจริงๆ สำหรับใครก็ตามที่ใช้เทอร์มินัลสัปดาห์แล้วสัปดาห์เล่า เมื่อฉันพิมพ์ Docker Compose fish จะเสนอคำสั่งที่ฉันเคยรันในอดีตโดยอัตโนมัติ รวมถึงแฟลก ชื่อคอนเทนเนอร์ และพาธของวอลุ่มจริงๆ สิ่งนี้ทำให้การใช้บรรทัดคำสั่งราบรื่น มันลดการพึ่งพาการเปิดประวัติ ค้นหา และพิมพ์ใหม่ ซึ่งเป็นจุดที่ฉันเคยยอมรับ

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

การกดแท็บเลิกรู้สึกเหมือนการพนัน

ปลาเข้าใจเครื่องมือของคุณดีพอที่จะนำทางคุณผ่านมันได้

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

เมื่อฉันพิมพ์ git checkout และกด Tab, fish จะแสดงแท็กและคอมมิตล่าสุดควบคู่ไปกับสาขาที่แสดงอยู่ ฉันสามารถดูไฟล์ที่แก้ไขอย่างแม่นยำซึ่งเกี่ยวข้องกับคำสั่งย่อยเฉพาะได้โดยการพิมพ์ git restore และกด Tab

มันยังเปลี่ยนวิธีที่ฉันเชื่อมโยงกับ Docker ด้วย ตัวอย่างเช่น คำสั่ง docker run - จะแสดงแฟล็กที่เป็นไปได้รวมถึงคำอธิบายของแฟล็กด้วย ซึ่งทำให้ไม่จำเป็นต้องแยกไปค้นหาเอกสารเพื่อบอกความแตกต่างระหว่าง --rm กับ --restart=unless-stopped ทำให้คำสั่งที่ไม่คุ้นเคยรู้สึกไม่น่ากลัวเท่าเดิม แม้ว่ามันจะไม่ได้มาแทนที่เอกสาร แต่ก็ลดการหยุดชะงักหลายอย่างที่เกิดจากการปรึกษาเอกสาร

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

ฉันเลิกจัดการการตั้งค่าเชลล์ของฉันเหมือนกับงานอดิเรกที่สอง

ปลาเอาการบำรุงรักษาจุดสิ้นสุดที่น่าประหลาดใจออก

จากประสบการณ์ของฉัน การดูแลเชลล์สามารถใช้เวลาค่อนข้างมาก คุณต้องทำตามขั้นตอนในการติดตั้งปลั๊กอินหลายตัว อาจจะตัวหนึ่งสำหรับการแนะนำอัตโนมัติ ตัวหนึ่งสำหรับการไฮไลต์ และอาจจะตัวสุดท้ายสำหรับการเติมแท็บ นอกจากนี้ คุณอาจต้องใช้เฟรมเวิร์กที่รวมทุกอย่างเข้าด้วยกัน และอาจจะต้องมีธีมพรอมต์ หลังจากใช้สิ่งนี้ไปสักพัก มันสามารถรู้สึกเหมือนเป็นภาระในการบำรุงรักษาแยกต่างหาก ส่วนที่เหนื่อยที่สุดคือคุณอาจต้องทำสิ่งนี้หากคุณเปลี่ยนดิสทริบิวชันหรือตั้งค่าเครื่องใหม่ นี่คือภาระเพิ่มเติมที่ fish ช่วยให้คุณหลีกเลี่ยงได้ เพราะฟีเจอร์ส่วนใหญ่เหล่านี้รวมอยู่ในเชลล์แล้ว

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

ตัวย่อกลายเป็นคุณสมบัติที่มีค่ามาก และมันแตกต่างจากอาลิแอสของ Bash อย่างมาก gc เป็นตัวย่อของฉันสำหรับ git commit การกด Tab หลังจากพิมพ์ gc บน fish จะขยายตัวย่อก่อนการรันคำสั่งและเก็บคำสั่งเต็มในประวัติ ทำให้สามารถค้นหาและอ่านได้ แม้ว่าสิ่งนี้อาจรู้สึกเป็นเรื่องเล็ก แต่มันแสดงให้เห็นว่า fish ไม่พยายามที่จะซ่อนวิธีการทำงานของเทอร์มินัลมากนัก

Fish มีความยืดหยุ่นมากกว่าวิธีของ Bash แบบทั่วไป:

งานตั้งค่าเทอร์มินัล

วิธีทั่วไปของ Bash

พฤติกรรมเริ่มต้นของปลา

รับคำแนะนำอัตโนมัติ

ติดตั้งและกำหนดค่าปลั๊กอิน

ใช้งานได้ทันทีหลังติดตั้ง

การเน้นไวยากรณ์

ติดตั้งและกำหนดค่าปลั๊กอิน

ใช้งานได้ทันทีหลังติดตั้ง

การเติมแท็บที่สมบูรณ์และหลากหลายมากขึ้น

ติดตั้งแพ็กเกจเสริมตามเครื่องมือ

รวมเข้ากับ Git, Docker และเครื่องมือระบบ

การดูตัวอย่างการเปลี่ยนแปลงพรอมต์

แก้ไขการตั้งค่า โหลดใหม่ ทำซ้ำ

ดูตัวอย่างแบบสดในอินเทอร์เฟซเบราว์เซอร์ fish_config

Fish เปลี่ยนวิธีที่เทอร์มินัลเข้ากับเวิร์กโฟลว์ประจำวันของฉัน

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

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

บทความที่เกี่ยวข้อง