पता लगाएं कि क्या फिलामेंट विम में लोड किया गया है


224

जैसे ही मैं किसी फ़ाइल को vim में लोड करता हूं, यह फ़ाइल का पता लगाने और यदि संभव हो तो इसे रंग-हाइलाइट करने का प्रयास करेगा।

मैं एक vim कमांड जानना चाहता हूं जो मुझे बताएगा कि फ़ाइल को हाइलाइट करने के लिए कौन सा ftplugin या Filetype plugin / filetype vim है।


क्या यह स्वचालित नहीं है?
ereOn

यदि आप ~ / .vim / ftplugin में एक vimcript डालते हैं / तो यह उस vimcript को स्रोत करेगा जब मिलान फ़ाइल का फ़ाइल लोड किया जाता है। तो डाल setlocal cursorlineमें ~/.vim/ftplugin/python.vimऔर आप वर्तमान पंक्ति अजगर फाइलों में प्रकाश डाला होगा। देखें :help ftpluginऔर:help after
idbrii

जवाबों:


365

:set filetype?


39
आप कुछ कीस्ट्रोक्स बचा सकते हैं और सिर्फ इस्तेमाल कर सकते हैं:set ft?
मैथ्यू रैनकिन

35
:se ft?- मैं जीता। ;)
10-28 बजे जूल

39
:se ft? मैं जीता!
फैबियो सांतोस

एसओ को न्यूनतम टिप्पणी की लंबाई की आवश्यकता होती है, इसलिए यह स्पष्ट नहीं हो सकता है कि सबसे छोटी अवधि के बाद समाप्त होता है t। ? वैकल्पिक है।
पुनर्जन्म

15

आप आइटम %yऔर %Yआइटम का उपयोग करके अपनी स्थिति रेखा या विंडो शीर्षक में फ़िलाटाइप भी जोड़ सकते हैं । देख

:help 'statusline'
:help 'titlestring'

11

&filetype स्क्रिप्ट उपयोग के लिए

न्यूनतम उदाहरण:

echo &filetype

अधिक यथार्थवादी उपयोग उदाहरण:

if &filetype ==# 'c' || &filetype ==# 'cpp'
  setlocal noexpandtab
endif

&सभी विकल्पों के लिए सिंटैक्स काम करता है: /vi/2569/how-do-i-check-the-value-of-a-vim-option-in-vimscript


2

जब मैं फिलाटाइप को ढूंढना चाहता था तो यह था कि मैं एक .ython स्क्रिप्ट को संशोधित करने के लिए .ipy एक्सटेंशन कर रहा था। उपरोक्त प्रश्नोत्तर ने यह देखने के लिए बहुत अच्छा काम किया कि आइपैन एक्सटेंशन को अजगर (कुछ हद तक स्पष्ट) के रूप में नहीं माना जा रहा था। इस प्रकार मैं फ़िल्टाइप को सेट करने के लिए बाध्य करना चाहता था, और मैंने इसे कभी भी हेलफुल विम साइट से पाया। http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

नीचे अपने .vimrc कार्यों को जोड़ना

au BufRead,BufNewFile *.ipy set filetype=python

2

चूँकि आप पहली बार में यह प्रश्न पूछ रहे हैं / खोज रहे हैं, इसलिए मैं मानता हूँ कि आप ऐसा इसलिए करते हैं क्योंकि आपका विम किसी भी तरह आपके लिए उचित सिंटैक्स को उजागर नहीं करता है, और आप यह जानने की कोशिश कर रहे हैं कि क्यों, और इसे कैसे ठीक किया जाए।

:set filetype?चुने हुए उत्तर में कमांड मूल रूप से विम से पूछता है "अरे, आपको क्या लगता है कि वर्तमान फ़ाइल क्या है"। और यदि विम उचित रंग / हाइलाइटिंग प्रदर्शित नहीं कर रहा है, तो संभवतः इसका उत्तर filetype=आपके कंसोल के नीचे प्रदर्शित हो रहा है , जिसका अर्थ है कि विम फ़ाइल प्रकार को नहीं जानता है। यह आपकी खोज का केवल आधा हिस्सा है।

तार्किक रूप से, आपका अगला कदम vim बताएगा "बस इसे हाइलाइट करें (उदाहरण के लिए) ps1 सिंटैक्स"। आप ऐसा करके टाइप करते हैं :set filetype=ps1, अब vim ps1 स्टाइल का उपयोग करके वर्तमान फ़ाइल को हाइलाइट करेगा (बशर्ते कि आप पहले से ही उचित पॉवरशेल सिंटैक्स फ़ाइल डाउनलोड करें और इसे अपने ~ / .vim / सिंटैक्स में डालें )।

इस बिंदु पर, आप शायद अब से ऑटो-सिंटैक्स-हाइलाइट चाहेंगे। इसका समाधान है कि आप अपने ~ / .vim / ftdetect फ़ोल्डर में एक संबंधित पहचान स्क्रिप्ट डाल सकें। उदाहरण के लिए, यदि आप सभी PowerShell स्क्रिप्ट्स .ps1, .psm1 इत्यादि को हाइलाइट करना चाहते हैं, तो आप इस फ़ाइल को अपने ~ /vim / ftdetect पर रखें।

अब यह एक सुखद अंत है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.