ฉันเห็นด้วยกับกระบวนทัศน์ "Vim ไม่ใช่ IDE" แต่ก็มีหลายครั้งที่ไม่มี IDE นี่คือสิ่งที่ฉันใช้ในสถานการณ์เหล่านั้น:
: grep,: vimgrep,: Ag,: Ggrep
การรีแฟคเตอร์ที่เกี่ยวข้องกับการแทนที่ปกติฉันมักจะใช้: grepบนแผนผังโครงการของฉันแล้วบันทึกมาโครเพื่อทำการรีแฟคเตอร์ -: g และ: s ไม่ใช่เกมง่ายๆ โดยปกติแล้วมันจะช่วยให้ฉันแก้ไขไฟล์จำนวนมากได้อย่างรวดเร็วโดยใช้ความพยายามเพียงเล็กน้อย สุจริตฉันใช้วิธีนี้มากกว่าวิธีอื่น ๆ
ขึ้นอยู่กับเวิร์กโฟลว์ของคุณคำสั่งในตัวอาจช้า / ไม่สะดวก หากคุณใช้คอมไพล์คุณจะต้องใช้ปลั๊กอินFugitive ที่ยอดเยี่ยมและ:Ggrep
คำสั่งเพื่อค้นหาเฉพาะไฟล์ที่ตรวจสอบในคอมไพล์ ฉันยังชอบSilver Searcherสำหรับความรวดเร็ว
: argdo,: cdo และ: bufdo
: cdoและ: argdoมีประโยชน์ในการดำเนินการคำสั่ง vim ในชุดไฟล์
บรรทัดคำสั่ง
เมื่อการกำหนดรายการไฟล์ที่ต้องการการเปลี่ยนแปลงทำได้ยากขึ้น:vimgrep
ฉันใช้คำสั่ง grep / find สำหรับบรรทัดคำสั่งเพื่อดูแลรายการไฟล์ที่ฉันต้องการ refactor อย่างใกล้ชิดมากขึ้น บันทึกรายการลงในไฟล์ข้อความและใช้:e
และผสมการบันทึกมาโครเพื่อทำการเปลี่ยนแปลงที่ฉันต้องทำ
ฉันพบว่ายิ่งสนิมน้อยเท่าไหร่ฉันก็ยิ่งมีทักษะในการบันทึกมาโครมากขึ้นเท่านั้นฉันก็พบว่า Vim สำหรับการปรับโครงสร้างใหม่: รู้สึกสะดวกสบายในการบันทึก / กู้คืนจากรีจิสเตอร์การเพิ่ม / ลดตัวแปรตัวนับรีจิสเตอร์การล้าง / บันทึกการบันทึกมาโครลงในไฟล์เพื่อใช้ในภายหลังเป็นต้น
อัปเดต
เนื่องจากการเขียนวิดีโอเพิ่มเติมสำหรับวิธีการที่ฉันอธิบายได้รับการเผยแพร่บน vimcasts.org (ฉันขอแนะนำให้คุณดูVimcasts ทั้งหมด! ) สำหรับการปรับโครงสร้างใหม่ให้ดูสิ่งเหล่านี้:
Vimgolfยังเป็นวิธีที่ยอดเยี่ยมในการฝึกฝน
ความแพร่หลายของเซิร์ฟเวอร์ Language Server Protocol ตั้งแต่ฉันเขียนคำตอบนี้ได้นำความสามารถในการปรับโครงสร้างใหม่มาสู่ Vim (และบรรณาธิการอื่น ๆ ) IMO เป็นวิธีที่ยาวนานจากความสามารถในการปรับโครงสร้างใหม่ที่คุณจะเห็นใน IDE ที่สร้างขึ้นโดยเฉพาะ (ฉันใช้มันและชอบ coc และ ALE) ดูคำตอบอื่น ๆ สำหรับคำถามนี้สำหรับข้อมูลเพิ่มเติม!