मैं सिगविन टर्मिनल में विम में ब्लॉक कर्सर कैसे प्राप्त कर सकता हूं?


46

मुझे विम में सामान्य मोड में ब्लॉक कर्सर रखने की आदत है। यह विम प्रतिमान के साथ समझ में आता है; जब आप दबाते हैं x, तो यह स्पष्ट है कि कौन सा वर्ण हटा दिया जाएगा।

मैंने एक Windows कंप्यूटर पर Cygwin स्थापित किया है, लेकिन जब मैं इसके टर्मिनल में Vim का उपयोग करता हूं, तो मुझे Iकर्सर मिलता है, यहां तक ​​कि सामान्य मोड में भी। मैं इसके बजाय कर्सर को ब्लॉक कैसे बना सकता हूं?

जवाबों:


73

यह सवाल Cygwin मेलिंग सूची पर उचित भागने दृश्यों के लिए कुछ रहस्यमय चर सेट करके सवाल का जवाब। इसे अपने में जोड़ें .vimrc:

let &t_ti.="\e[1 q"
let &t_SI.="\e[5 q"
let &t_EI.="\e[1 q"
let &t_te.="\e[0 q"

2
यह मेरे लिए तब काम किया जब मिनिट का उपयोग करके एक linux सर्वर पर ssh
zzapper

2
बहुत बहुत धन्यवाद। होगा एक साफ समाधान है कि 2 सबसे कष्टप्रद मामलों में काम करता है प्यार :)
rld।

2
अच्छा लगा। दुर्भाग्य से, ConEmu में यह पूरे सत्र के लिए कर्सर को प्रभावित करता है। उस ने कहा, यह अपेक्षा के अनुरूप काम करता है। यह साइबरविन के टर्मिनल एमुलेटर में भी ठीक काम करता है। लेकिन, इसका उपयोग कौन करता है? ;)
जॉर्ज मैरियन

लगभग सही ... लेकिन इन्सर्ट मोड को छोड़ते समय, यह तब तक एक लाइन कर्सर पर लौटता है जब तक आप कर्सर को किसी दिशा में नहीं ले जाते हैं।
जो कोडर

1
Cmder के साथ स्वचालित रूप से स्थापित विम के संस्करण में मेरे लिए काम किया। धन्यवाद!
बंगश

33

साइबरविन टर्मिनल एमुलेटर में उस के लिए एक सेटिंग है:

विंडो शीर्षक बार पर राइट-क्लिक करें> विकल्प> लुक> कर्सर> कर्सर रेडियो बटन


पूरा करने के लिए, इस तरह के विकल्प किसी भी अन्य विंडो टर्मिनल विंडो के समान हैं, जो कि साइबरविन है।
मॉवरोन

6
प्रो: मेरे .vimrcलिनक्स या विंडोज के साथ अधिक संगत हो सकता है .vimrc। Con: अब मेरे पास इन्सर्ट मोड में ब्लॉक कर्सर है, जब मैं Iउस मोड में कर्सर चाहता था । +1
कज़र्क

5
सवाल VIM में कर्सर को नियंत्रित करने के बारे में पूछ रहा था, लेकिन यह उत्तर पूरे शेल सत्र के लिए कर्सर को प्रभावित करता है, दोनों कमांड प्रॉम्प्ट पर और VIM में
डेविड अल्परट

1
@EdRandall यह Cygwin टर्मिनल और विम के बारे में एक प्रश्न है। यह उत्तर प्रश्न के साइग्विन पक्ष से संबंधित है।
jared

1
यह पूरी तरह से सवाल का जवाब नहीं देता है। विम 2 प्रकार के अभिशापों का उपयोग करता है। सामान्य, दृश्य या कमांड मोड में यह एक ब्लॉक है। इन्सर्ट मोड में, यह एक वर्टिकल बार है। ये निर्देश एक विशिष्ट टर्मिनल एमुलेटर (साइबरविन) में एक थोक परिवर्तन के लिए हैं, हालांकि अधिकांश में कुछ समान होना चाहिए। इसलिए, यह टर्मिनल में हर जगह कर्सर को प्रभावित करता है, और, इससे भी महत्वपूर्ण बात, यह विम की कर्सर कार्यक्षमता की नकल नहीं करता है।
जॉर्ज मैरियन

3

एक फाइल बनाएं ~/.minttyrc, उसमें नीचे की पंक्ति जोड़ें

CursorType=block

इसके बाद री-लॉन्च mintty, जो कि साइग्विन का डिफ़ॉल्ट टर्मिनल है।


0

या, आप एक बैच फ़ाइल बना सकते हैं:

 %SYSTEMDRIVE%\cygwin\bin\mintty.exe ^
        -s 132,50 -o ScrollbackLines=10000 ^
        -o BackgroundColour=54,54,54 ^
        -o Transparency=High -o OpaqueWhenFocused=yes ^
        -o CursorColour=Green -o CursorType=block -o CursorBlinks=no ^
        -o Font=Consolas -o FontHeight=10 ^
        /bin/env CHERE_INVOKING=1 /bin/bash -l -i

और इसे चलाते हैं।

यदि आप डॉस कमांड विंडो में ब्लिंकिंग कर्सर को पसंद नहीं करते हैं, तो %COMSPEC%इसके बजाय भी उपयोग करें /bin/env/...और आश्चर्यचकित हो जाएं।

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