วิธีที่ดีที่สุดในการทำให้ vim (คอนโซลไม่ใช่ mvim) เป็นค่าเริ่มต้นแทนที่จะเป็นกลุ่มของ Mac OS X?


101

ฉันติดตั้ง MacVim โดยใช้ homebrew ( brew install macvim) ถ้าฉันโทรmvimจากcmdมันจะเปิด GUI MacVim

ฉันต้องการvimโทรหา Vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) ของ MacVim แทน/usr/bin/vimvim ของระบบ ( ) วิธีใดดีที่สุดที่จะทำ ฉันรู้ว่าฉันสามารถทำalias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"แต่ฉันไม่รู้ว่ามันเป็นวิธีที่ดีที่สุด ...

แก้ไข : Guys ขอขอบคุณสำหรับทุกคำตอบของคุณ แต่แน่นอนตั้งแต่ฉันได้ใช้homebrewใช้--override-system-vimเป็นวิธีที่สง่างามที่จะบรรลุสิ่งที่ฉันต้องการ


อะไรคือความแตกต่างระหว่างคอนโซลของ MacVim และกลุ่มทั่วไปในเทอร์มินัล
hobbes3

2
@ hobbes3, กลุ่มที่มาพร้อมกับ osx ไม่มีการสนับสนุนทับทิมหรือหลามรวบรวมมาเป็นกลุ่มของ MacVim ซึ่งจำเป็นถ้าคุณต้องการใช้ปลั๊กอินเช่น Command-T
asgeo1

เสียงเรียกเข้าที่มาพร้อมกับ OS X ยังไม่สนับสนุนคลิปบอร์ดของ freakin
Thanatos

คำตอบ:


136

ฉันเชื่อว่านี่คือสิ่งที่คุณกำลังมองหา:

brew install macvim --with-override-system-vim

สิ่งนี้จะสร้าง vim, vimdiff, ฯลฯ เชื่อมโยงไปยัง mvim ใน / usr / local / bin / vim และตราบใดที่ / usr / local / bin อยู่ก่อน / usr / bin ใน PATH ของคุณคุณจะได้ผลลัพธ์ที่คุณต้องการ ' กำลังมองหา

รุ่นก่อนหน้าของการต้มใช้สวิตช์--override-system-vimซึ่งเลิกใช้แล้ว


3
เนื่องจากฉันบอกว่าฉันใช้ homebrew อยู่แล้วฉันคิดว่านี่เป็นตัวเลือกที่ดีที่สุด: ฉันไม่รู้ว่าตัวเลือกนี้เป็นไปได้ ขอบคุณ!
บางคนยังคงใช้ MS-DOS

2
ในทางเทคนิคแล้วนี่เป็นอัญมณีที่ซ่อนอยู่ในสูตรกลุ่มแทนที่จะเป็นโฮมบรูว์ :)
kejadlen

ฉันสงสัยว่าจะเกิดอะไรขึ้นถ้าฉันทำ Brew ลบ macvim นั่นจะลบ macvim และออกจากกลุ่มเดิมหรือไม่ หรือว่าจะหายไป?
seds

4
เห็นได้ชัดว่าต้องการ Xcode แบบเต็มที่ติดตั้งผ่านทาง app store (ไม่ใช่เครื่องมือบรรทัดคำสั่ง)
ScoBe

3
สิ่งนี้ใช้งานไม่ได้อีกต่อไปเนื่องจาก homebrew ได้ลบสูตรตัวเลือกทั้งหมดไปข้างหน้า discourse.brew.sh/t/…
Fadecomic


17

คุณสามารถสร้างนามแฝงในของคุณ~/.bash_profileเพียงแค่เพิ่มบรรทัดนี้ลงในไฟล์:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"

ที่จริงแล้วมันเป็นalias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"เพราะฉันต้องการเชื่อมโยงไปยังคอนโซลคอนโซลของ MacVim ไม่ใช่รุ่น gui
บางคนยังใช้ MS-DOS

อ่าไม่เป็นไร แก้ไขแล้ว!
Wuffers

เนื่องจาก vim เป็นแอปพลิเคชั่นแบบโต้ตอบการทำนามแฝงที่แทนที่ Vim ของระบบจะไม่เป็นอันตรายอย่างนั้นฉันเดาว่า ...
ใครบางคนยังคงใช้ MS-DOS

1
สำหรับฉันนี่คือใน / Applications นามแฝงที่ดี!
72923


3

หากต้องการเปลี่ยนเครื่องมือแก้ไขเริ่มต้นของระบบให้เพิ่มรายการต่อไปนี้ใน. bash_profile ของคุณ

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

การเปลี่ยนแปลงนี้จะช่วยให้คุณใช้ MacVim สำหรับโปรแกรมแก้ไขเริ่มต้น (แม้สำหรับแอปที่เปิดใช้งานโปรแกรมแก้ไขอัตโนมัติ)

แก้ไข
สำหรับการใช้งานปกติที่เทอร์มินัลคุณยังคงต้องใช้ 'mvim' เพื่อแก้ไขไฟล์ หากคุณยังต้องการพิมพ์ 'vi' บนเทอร์มินัลฉันขอแนะนำให้เพิ่มชื่อแทนไปยัง. bash_profile เช่นกัน

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

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

ทดสอบการตั้งค่าของคุณโดยใช้which vimที่เครื่อง


2
ฉันไม่ต้องการให้ mvim เป็นค่าเริ่มต้น ฉันต้องการเรียก vim ของ MacVim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) เมื่อฉันเขียน vim บนเทอร์มินัลแทน vim ของระบบ ( /usr/bin/vim)
บางคนยังใช้ MS-DOS

@Somebody ยังคงใช้ MS-DOS ของคุณ: ขออภัยเกี่ยวกับสิ่งนั้นเข้าใจความตั้งใจของคุณผิดพลาด
Adam Lewis

Hum แต่คุณทำให้ผมมีความคิด: ถ้าผม symlink vimไป/usr/local/binและการใช้$PATHวิธีการก็อาจจะทำงาน
บางคนยังคงใช้ MS-DOS

@Somebody ยังคงใช้ MS-DOS ของคุณ: ระมัดระวังการเชื่อมโยงไปยังไดเรกทอรีที่มีกลุ่มอยู่แล้ว ... อาจเป็นเรื่องยากที่จะรู้ว่ากลุ่มใดที่คุณจะได้รับ
อดัมเลวิส

1
:) ใจของฉันเพิ่มขึ้นถึงกรณีที่เลวร้ายที่สุด (ลบออกในท้องถิ่น) คุณควรจะดีกับผู้ใช้ในท้องถิ่น
อดัมเลวิส

2

แก้ไข: เพียงติดตั้งโฮมบรูว์ (คุ้มค่ากับความยุ่งยาก!) และ brew install vim

คำตอบเก่าของฉันอยู่ด้านล่าง:


ฉันไม่ต้องการติดตั้ง xcode เพียงแค่นี้ฉันไม่ต้องการใช้นามแฝงหรือวิธีชง (ซึ่งต้องใช้ xcode ด้วย) ดังนั้นฉันจึงทำสิ่งนี้:

  1. ครั้งแรกที่ผมดาวน์โหลด MacVim จากหน้ารุ่น ,
  2. จากนั้นฉันติดตั้ง MacVim โดยลากไปยังโฟลเดอร์ Applications ของฉัน
  3. สำหรับการใช้งานเทอร์มินัลนอกจากนี้ยังมีแอพเทอร์มินัลในรหัสไปรษณีย์ที่เรียกว่าmvimฉันติดตั้งโดยใช้คำสั่งนี้:

    sudo mv mvim / usr / local / bin / vim

  4. จากนั้นฉันจะปรับปรุงสภาพแวดล้อมด้วยhash -r(หรือปิดและเปิดเทอร์มินัลใหม่)

  5. ในที่สุดเมื่อฉันเรียกใช้vimจาก terminal ของฉันฉันเห็นการปรับปรุง "ในคอนโซล"

ฉันหวังว่านี่จะช่วยให้ใครบางคน


ฉันใช้ homebrew สำหรับสิ่งของหลายอย่าง มันคุ้มค่ากับความยุ่งยาก การติดตั้ง XCode แต่สามารถติดตั้งทั้งหมดที่ฉันต้องการเพียงแค่โทรbrew installก็ดีมาก
บางคนยังใช้ MS-DOS

1

homebrewสองเซ็นต์ของฉันฉันทำงานนี้เมื่อใดก็ตามที่อัพเกรดหลามของฉันผ่านทาง

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.