Vim ไม่พบ syntax.vim


13

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

Error detected while processing /home/XXXXXX/.vim/vimrc:
line   55:
E484: Can't open file /usr/share/vim/vim74/syntax/syntax.vim

ไม่น่าแปลกใจที่ Vim ไม่สามารถเน้นไวยากรณ์และโยนข้อผิดพลาดอื่น ๆ จำนวนมากเมื่อแก้ไขข้อความ

หลังจากทำการวิจัยด้วยตัวเองฉันสามารถบอกได้ว่า syntax.vim นั้นมีอยู่จริง/usr/local/share/vim/vim74/syntax/syntax.vimเมื่อเทียบกับไดเรกทอรีที่กล่าวถึงก่อนหน้านี้ ฉันจะแก้ปัญหานี้ได้อย่างไร

ข้อมูลเพิ่มเติม

checkinstallเป็นกลุ่มได้รับการติดตั้งโดยใช้ เพื่อรวบรวมมันฉันวิ่งคำสั่ง:

./configure --with-features=huge --enable-cscope --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-multibyte --enable-fontset --disable-gui --disable-netbeans --enable-luainterp=yes --with-lua-prefix=/usr/include/lua5.1 --enable-largefile
make VIMRUNTIMEDIR=/usr/share/vim/vim74

คุณสามารถสร้าง symlink ให้กับกลุ่มที่คิดว่าควรเป็นได้หรือไม่? iesudo ln -s /usr/local/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/syntax/syntax.vim
Sparhawk

ดูเหมือนว่าจะได้ผล: sudo ln -s /usr/local/share/vim/vim74 /usr/share/vim/vim74. ตอนนี้ฉันยังคงเปิดคำถามไว้ในกรณีที่ฉันพบปัญหาอื่น ๆ ที่เกี่ยวข้อง
Dillmo

คุณอาจต้องการถามคำถามใหม่หากคุณมีปัญหาแยกต่างหาก (หากวิธีนี้ใช้ได้ผลฉันไม่สามารถจินตนาการได้ว่ามันจะล้มเหลวบางส่วนได้อย่างไร) อย่างไรก็ตามฉันเขียนมันขึ้นมาเป็นคำตอบ…
Sparhawk

คำตอบ:


5

คุณสามารถสร้าง symlink ให้กับกลุ่มที่คิดว่าควรเป็นได้หรือไม่? กล่าวคือ

sudo ln -s /usr/local/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/syntax/syntax.vim

(หากไม่มีไดเรกทอรีเป้าหมายนี้ให้เชื่อมโยงไดเรกทอรีระดับสูงกว่าแทน)


3
คำตอบของคุณช่วยได้อย่างแน่นอน: +1 สำหรับสิ่งนั้น อย่างไรก็ตามเนื่องจากมันไม่ถูกต้องฉันจึงไม่สามารถทำเครื่องหมายเป็นวิธีแก้ปัญหาได้ คำสั่งsudo ln -s /usr/local/share/vim/vim74 /usr/share/vim/vim74ทำงานแทน ขอบคุณสำหรับความช่วยเหลือของคุณอย่างไรก็ตาม
Dillmo

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

แทนที่จะเชื่อมโยงผลลัพธ์การเพิ่ม--prefix=/usrการกำหนดค่าการโทรอาจติดตั้งในตำแหน่งที่ถูกต้องทันที
aquaherd

8

ปัญหาคือคำสั่ง make

make VIMRUNTIMEDIR=/usr/share/vim/vim74

จากคำถามsyntax.vimอยู่ใน/usr/local/share/vim/vim74ดังนั้นคุณควรจะใช้สิ่งต่อไปนี้แทน

make VIMRUNTIMEDIR=/usr/local/share/vim/vim74

โดยทั่วไปVIMRUNTIMEDIRตัวแปรที่ใช้โดยmakeควรสอดคล้องกับprefixตัวแปรที่ใช้โดยconfigureสคริปต์


1
มันใช้งานได้สำหรับฉัน ฉันไม่ได้ทำการเชื่อมต่อในขณะที่สร้างกลุ่มจากแหล่งสำหรับ YouCompleteMe
bd1251252

ผมพบว่าผมไม่จำเป็นต้อง VIMRUNTIME make prefixหรือ ถ้าฉันให้อย่างใดอย่างหนึ่งหรือทั้งสองอย่างฉันมีปัญหา มีเพียงmake prefixฉันที่ได้รับปัญหาของ OP ด้วยทั้งฉันได้รับข้อผิดพลาดกับสี SlateBlue ฉันไม่เชื่อว่าฉันลองด้วย VIMRUNTIME
trysis

8

ในการทุบตีรัน:

export VIMRUNTIME=/usr/share/vim/vim73

จากนั้นในการเรียกใช้เป็นกลุ่ม:

:syntax on

(ในกรณีของฉันเป็นกลุ่มมองใน/usr/share/vim/vim74ขณะที่ไม่มี/usr/local/share/...ฉันอยู่ใน AWS EC2 Ubuntu)

นอกจากนี้ก็จะต้องไม่VIMRUNTIMEVIMRUNTIMEDIR

โปรดทราบว่าสำหรับความคงทนคุณสามารถวางด้านบนบรรทัดลงในไฟล์เริ่มต้นเปลือกของคุณส่วนบุคคลเช่นexport~/.bash_profile


ได้ผลจริง! เป็นการแก้ไขที่ง่ายสำหรับผู้ที่ไม่มีการเข้าถึงรูท
Osama Gamal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.