2010-06-11 11 views
90

कभी-कभी मैं अपने vimrc में एक अनुकूलन/आदेश का प्रयास करता हूं। सब कुछ सही होने लगता है, लेकिन यह सिर्फ काम नहीं करता है।क्या कोई "vim रनटाइम लॉग" है?

यह जानना मुश्किल है कि विम शुरू होने पर क्या हो रहा है, और पता है कि कौन सा आदेश विफल हुआ या नहीं, इसलिए यह वास्तव में मुश्किल है कि मेरे vimrc में कोई समस्या हो सकती है। यह एक परीक्षण-त्रुटि दृष्टिकोण है, जो समय लेने वाला और वास्तव में एक पिटा है। उदाहरण के लिए, मुझे with snipmate plugin in some files समस्याएं आ रही हैं और समस्या का पता लगाने के तरीके पर कोई सुराग नहीं है।

क्या विम शुरू होने पर "रनटाइम लॉग" होता है, यह बताता है कि कौन से आदेशों को निष्पादित किया गया है, कौन सा विफल रहा है और ऐसा? इससे मुझे बहुत मदद मिलेगी।

उत्तर

120

-V [N] विकल्प के साथ चलने वाला विम एक बहुत भारी रनटाइम लॉग करेगा, यहां एन डीबग स्तर है।

vim -V9myVim.log 

फ़ाइल नाम myVim.log

+0

मुझे ज़ीक्स और आप दोनों दृष्टिकोणों को पसंद आया, लेकिन आपकी राय मेरी राय में बेहतर है क्योंकि यह केवल सरल है, केवल cmd में, और जब भी मैं इसे चलाता हूं, तो मैं लॉग के लिए पथ सेट कर सकता हूं, और मैं नहीं करता मेरे vimrc "फुला" की जरूरत है। और एसओ में आपका स्वागत है! –

+0

यह भी देखें [': h 'verbose''] (http://vimdoc.sourceforge.net/htmldoc/options.html#%27verbose%27) और [': h: verbose'] (http: // vimdoc। sourceforge.net/htmldoc/various.html#:verbose)। – Palec

2

मुझे नहीं लगता कि रनटाइम लॉग है, प्रति से, लेकिन आप इसे डीबग मोड में चला सकते हैं।
http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts

+2

इस साइट को हैक किया गया है या कुछ और लगता है "ToggleVerbose()" समारोह का उपयोग करने के लिए "nocp सेट" जोड़ने के लिए किया था। इसे ठीक होने तक, http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts पर कैश किए गए संस्करण को देखें। –

+0

मुझे 403 वर्जित –

+0

@ फ्रैंकफ़ैंग http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki मिला।संगठन/Debugging_Vim_Scripts – Jay

11

साथ मौजूदा निर्देशिका में डिबग स्तर 9 का एक लॉग बनाना होगा .vimrc में इस समारोह रखो: निर्देशिका ~/.log/vim

function! ToggleVerbose() 
    if !&verbose 
     set verbosefile=~/.log/vim/verbose.log 
     set verbose=15 
    else 
     set verbose=0 
     set verbosefile= 
    endif 
endfunction 

तो बना सकते हैं और ToggleVerbose() फोन प्राप्त करने के लिए ~/.log/vim/verbose.log में आपका लॉग इन करें। ध्यान दें कि आप «परिवर्तनीय घोंसला को प्रदर्शित करने के लिए बहुत गहराई से घिरा हुआ हो सकता है» त्रुटि जो सामान्य रूप से दिखाई नहीं देगी क्योंकि आपने अपना वर्बोज़ स्तर बढ़ाया है।

0

यह शायद सबकुछ एसओ के लिए चला जाता है, लेकिन यहां मैं यह करता हूं: चेतावनी आने के बाद ही मैं प्रिंट स्क्रीन पर हिट करता हूं और तस्वीर को देखता हूं।

+0

क्या विराम बटन का एक समान प्रभाव नहीं होगा, बर्बाद पेपर से कम? – Rook

+0

अब तक मुझे नहीं पता था कि विराम कुंजी क्या थी। किसी भी मामले में, मुझे नहीं लगता कि यह लिनक्स में कुछ भी करता है http://stackoverflow.com/questions/92802/what-is-the-linux-equivalent-to-dos-pause – puk

+2

FWIW, * निक्स टर्मिनल आउटपुट रोक देगा Ctrl-S पर और Ctrl-Q पर फिर से शुरू करें। – joeytwiddle

72

:messages विम स्टेटसलाइन में दिखाई देने वाली सभी चेतावनियों, त्रुटियों और सूचनात्मक संदेश दिखाता है (संभवतः संक्षेप में)।

:echo errmsg सबसे हालिया त्रुटि संदेश मुद्रित करता है।

g< एक और विशेषता है जो कुछ लोगों को पता है। :help g< से:

g< आदेश पिछला आदेश उत्पादन के अंतिम पृष्ठ को देखने के लिए इस्तेमाल किया जा सकता। यह विशेष रूप से उपयोगी है अगर आपने गलती से <Space> को हिट-एंटर प्रॉम्प्ट पर टाइप किया है।

उदाहरण के लिए, कोशिश :!ls तो शीघ्र रद्द तो g< मारा।

0

मैं जब & की वजह से जड़ में चलाने वर्बोज़

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