2013-01-10 6 views
11

मैं परिवर्तन करना चाहते हैं विम के (नहीं जाँचने के) कर्सर क्या मोड मैं वर्तमान में कर रहा हूँ के आधार पर मैं चाहूँगा:।कैसे ग्नोम टर्मिनल में विम कर्सर आकार बदलने के लिए अलग प्रकार में जबकि

  • सामान्य & दृश्य मोड = ब्लॉक कर्सर
  • सम्मिलित & कमान मोड = मैं बीम कर्सर

मैं .vimrc के लिए निम्न कोड जोड़ने की कोशिश की, लेकिन यह काम नहीं किया।

if has("autocmd") 
    au InsertEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam" 
    au InsertLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block" 
    au VimLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam" 
endif 

मैं http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes से कोड की कि बिट मिल गया है, लेकिन यह कहना है कि यह Gnome-टर्मिनल (संस्करण 2.26) के लिए है और मैं Gnome-टर्मिनल (संस्करण 3.60) है। यकीन नहीं है कि यही कारण है कि यह काम नहीं कर रहा है।

यह कैसे करें इस पर कोई विचार?

+0

@eduan, आपका कोड iTerm-specific है। यह जीनोम टर्मिनल में काम नहीं करता है। सबसे अच्छा मुझे मिल सकता है कर्सर का रंग बदल रहा है। – romainl

+0

@romainl आह मैं देखता हूं, मैं उस विवरण को भूल गया। – greduan

+0

आपके द्वारा पोस्ट की गई कॉन्फ़िगरेशन मेरे लिए काम करता है, gnome-terminal संस्करण 3.4.1.1 के साथ। क्या आप "डिफ़ॉल्ट" gnome-terminal प्रोफाइल का उपयोग कर रहे हैं? यदि नहीं, तो आपको कॉन्फ़िगरेशन में "डिफ़ॉल्ट" को आपके द्वारा उपयोग की जाने वाली प्रोफ़ाइल के नाम पर बदलना होगा। – chreekat

उत्तर

1

मैं GNOME टर्मिनल 3.10.2 है और मैं इसे निम्न चरणों के साथ काम कर रहा है:

एक स्क्रिप्ट कहा जाता gnome-terminal-cursor-shape.sh बनाएँ:

#!/bin/sh 
DEFAULTPROF=`dconf read /org/gnome/terminal/legacy/profiles:/default` 
DEFAULTPROF=`echo "$DEFAULTPROF" | sed -e "s/^'/:/" -e "s/'$//"` 
dconf write /org/gnome/terminal/legacy/profiles:/$DEFAULTPROF/cursor-shape "'$1'" 

और कॉल यह कर्सर आकार बदलने के लिए ibeam, ब्लॉक या अंडरलाइन के साथ।

/usr/bin या/usr/स्थानीय/बिन में स्क्रिप्ट रखो, और अपने .vimrc निम्न पंक्तियां जोड़ें:

if has("autocmd") 
    au InsertEnter * 
     \ if v:insertmode == 'i' | 
     \ silent execute "!gnome-terminal-cursor-shape.sh ibeam" | 
     \ elseif v:insertmode == 'r' | 
     \ silent execute "!gnome-terminal-cursor-shape.sh underline" | 
     \ endif 
    au InsertLeave * silent execute "!gnome-terminal-cursor-shape.sh block" 
    au VimLeave * silent execute "!gnome-terminal-cursor-shape.sh block" 
endif 
+1

मैं xfce में चल रहे gnome-terminal पर इस काम की पुष्टि कर सकता हूं। आपको xfce एप्लिकेशन ऑटोस्टार्ट सेटिंग्स में "GSettings डेटा रूपांतरण" सक्षम करना होगा। –

+0

दुर्भाग्यवश मैं इस चाल को लागू नहीं कर सकता, क्योंकि यह कड़ाई से gnome टर्मिनल से जुड़ा हुआ है (जबकि मैं टर्मिनेटर का उपयोग कर रहा हूं)। मेरी टिप्पणी हालांकि दौड़ की स्थितियों के बारे में है: क्या यह हो सकता है कि यह समाधान सभी जीवित gnome टर्मिनलों को प्रभावित करता है (यहां तक ​​कि जो लोग vim नहीं चल रहे हैं)? – Dacav

0

मेरे लिए, gnidmoos समाधान GNOME बुलाया स्क्रिप्ट स्क्रिप्ट बदलने के बाद काम किया

#!/bin/sh 
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/cursor_shape" --type string "$1" 

(.vimrc में उसी तर्ज का उपयोग कर)

पी.एस.: करने के लिए -terminal-cursor-shape.sh। मैं उबंटू 14.04 चला रहा हूं, गनोम टर्मिनल 3.6.2

चीयर्स!

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