2012-01-25 14 views
17

करते हैं तो पॉप पर क्षैतिज स्क्रॉलबार को सक्षम करने के लिए कैसे कोई समाधान के साथ मदद कर सकता है? जब भी मैं nowrap करता हूं और इसके विपरीत जब मैं wrap करता हूं तो मैं क्षैतिज स्क्रॉलबार पॉप अप करना चाहता हूं।जब हम अब

वर्तमान में मैं अपने काम को कम करने के लिए व्यक्तिगत रूप से इन सेटिंग्स का उपयोग करता हूं; क्या उनमें से दोनों को मर्ज करने का कोई तरीका है?

nnoremap <silent> <F3> :if &guioptions=~#'b'<Bar>set guioptions-=b<Bar>else<Bar>set guioptions+=b<Bar>endif<CR> 
map <F2> :set nowrap! <CR> 

उत्तर

33

हमें तदनुसार एक ही बार में दोनों विकल्पों स्विच करने के लिए एक भी आदेश का निर्माण करते हैं। सबसे पहले, यह wrap विकल्प वैसे भी टॉगल चाहिए:

:set wrap! 

फिर, guioptions कि क्या रैपिंग आदेश के निष्पादन के समय सक्षम किया गया है के आधार पर बदला जाना चाहिए। पाठ लपेटा जाता है, तो नीचे स्क्रॉलबार wrap के लिए तैयार करने में दिखाया जाना चाहिए विकलांग होने के लिए:

:set guioptions-=b 
:

:set guioptions+=b 

या फिर, यदि टेक्स्ट रैपिंग बंद कर दिया है, यह नीचे स्क्रॉलबार छुपाना चाहिए

आदेश से तीन में से एक आदेश बनाने के लिए, हम अभिव्यक्ति मानचित्रण का उपयोग कर सकते

:nnoremap <silent><expr> <f2> ':set wrap! go'.'-+'[&wrap]."=b\r" 
,210

जो कीस्ट्रोक्स के अनुक्रम में बदल जाता है

:set wrap! go+=bदर्ज

अगर wrap विकल्प सेट किया गया है (और एक के बराबर है), या करने के लिए

:set wrap! go-=bदर्ज

अन्यथा (जब &wrap शून्य का मूल्यांकन करता है)।

+0

समाधान के लिए धन्यवाद दोस्त !! :) –

+4

@ जेम्सबॉन्ड: यदि यह आपके लिए काम करता है, तो कृपया [उत्तर को स्वीकृत के रूप में चिह्नित करें] (http://meta.stackexchange.com/a/5235)। –

+0

@ib। इनोरमैप का उपयोग कर कोड क्या होगा? वास्तव में मैं इसके लिए एक समारोह का उपयोग करता हूं: 'समारोह! लपेटें() करता है, तो और nowrap guioptions सेट सेट लपेट + = ख बाकी सेट रैप guioptions- = b endif endfunction' और मानचित्रण ' inoremap सेट: लपेटें() फोन A' – Reman

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