2012-08-10 12 views
5

में काम नहीं कर रहा है मेरे पास फोरट्रान 77 में लिखा गया कोड है और मैंने इसे विम के साथ पढ़ा है। कोड लिखा गया है कि टिप्पणियां c से शुरू होने वाली लाइनों पर हैं, जैसा कि फोरट्रान 77 में मानक है। हालांकि, विम उन्हें पहचान नहीं पाता है और इसलिए रंगीन वाक्यविन्यास का उपयोग करता है जो कोड को पढ़ने में बहुत मुश्किल बनाता है! मैं इससे कैसे उबरूं?फोरट्रान 77 टिप्पणियों का सिंटेक्स हाइलाइटिंग विम

मैंने देखा है कि post with the same problem है। मैं जवाब पढ़ सकते हैं और अलग अलग समाधान है कि सुझाव दिया गया है की कोशिश की है:

  1. let fortran_have_tabs=1 जोड़ने .vimrc को

  2. syn match fortranComment excludenl "^[!c*].*$" [email protected],@spell 
    syn match fortranComment excludenl "!.*$" [email protected],@spell 
    

    जोड़ने .vimrc को

लेकिन वे मेरे लिए काम नहीं करते हैं। क्या कोई जानता है क्यों? क्या मैंने कहीं गलती की है? अन्यथा, क्या किसी के पास एक अलग सुझाव है?

+2

विम का कौन सा संस्करण? अगर फ़ाइल एक्सटेंशन .f है तो यह काम करता है? – milancurcic

+1

क्या यह कुछ रंग रहा है? या सिर्फ टिप्पणियां रंग नहीं हैं? यदि आप फोरट्रान 9 0 टिप्पणी (!) का प्रयास करते हैं तो क्या यह रंग है? मेरा मानना ​​है कि वीम फोरट्रान नियमित रूप से हाइलाइट करते हुए फ़ाइल की पहली कुछ पंक्तियों को देखता है और यह निर्धारित करता है कि फ़ाइल निश्चित-प्रारूप है या नहीं। यदि आपके पास फ़ाइल की पहली कुछ पंक्तियों में कुछ गैर-मानक फ़ोरट्रान 77 चीजें हैं, तो विम यह मान ले सकता है कि फ़ाइल मुक्त-प्रारूप है और इस प्रकार "सी" को कोई टिप्पणी नहीं माना जाएगा। – SethMMorton

+0

प्रश्न में परीक्षण के लिए कोड का एक उदाहरण टुकड़ा देखना अच्छा लगेगा। – xaizek

उत्तर

2

यह वही मेरी .vimrc में मेरे लिए काम करता है:

let fortran_have_tabs=1 
if has('syntax') && (&t_Co > 2) 
    syntax enable 
endif 

महत्वपूर्ण हिस्सा सबसे अधिक संभावना syntax enable हिस्सा है। आप भी इस आवश्यकता हो सकती है:

filetype on 

इसके अलावा :help ft-fortran-syntax में टाइप और कहा कि पढ़ने की कोशिश (या यहाँ देखें: http://vimdoc.sourceforge.net/htmldoc/syntax.html#ft-fortran-syntax)। क्या मैं छीन लिया से कि था कि मैं फ़ाइल ~/.vim/ftplugin/fortran.vim बना सकते हैं और उस में यह डाल करने के लिए की जरूरत:

let s:extfname = expand("%:e") 
if s:extfname ==? "f90" 
    let fortran_free_source=1 
    unlet! fortran_fixed_source 
else 
    let fortran_fixed_source=1 
    unlet! fortran_free_source 
endif 

और यह भी अपने .vimrc में रखते:

filetype plugin indent on 

वह मेरे लिए काम कर देता है ताकि मैं बिना किसी समस्या के फ्री-फॉर्म और फिक्स्ड-फॉर्म को देख और संपादित कर सकूं।

संबंधित मुद्दे