2009-08-21 5 views
5

को ठीक करता है मैंने अभी लिनक्स सर्वर पर vim 7.2 संकलित किया है (मेरे उपयोगकर्ता डीआईआर में, क्योंकि सर्वर के पास 6 स्थापित हैं और मैं अपग्रेड करना चाहता हूं लेकिन रूट विशेषाधिकार नहीं हैं)।विम 7.2 स्टार्टअप पर लटकता है, "killall vim" इसे

जब मैं "vim" दर्ज करता हूं, तो यह किसी भी प्रतिक्रिया के बिना स्टार्टअप पर लटकता है, लेकिन जब मैं किसी अन्य एसएसएच विंडो से "killall vim" कहता हूं, स्टार्टअप पूर्ण हो जाता है और इसके बाद vim ठीक काम करता प्रतीत होता है। वह क्यों होगा, और मैं इसे कैसे ठीक कर सकता हूं?

आपके प्रतिक्रियाओं के लिए बहुत धन्यवाद।

उत्तर

5

strace vim शायद आपको बताएगा कि यह क्या लटक रहा है।

:help -X 

से पता चलता विम स्टार्टअप पर X11 सर्वर से कनेक्ट करने क्लिपबोर्ड कार्यक्षमता और अन्य सामग्री प्राप्त करने की कोशिश करता है, जो जब विम चल रहा एक "लंबे समय स्टार्टअप समय के लिए नेतृत्व कर सकते हैं:

+1

मुझे एक ही समस्या थी, मेरे दिन – Nazgob

+0

बचाया गया धन्यवाद! 'स्ट्रेस' के साथ, मैंने देखा कि यह 'DISPLAY' पर्यावरण चर के उपयोग के आसपास अटक गया था और फिर एहसास हुआ कि यह गलत तरीके से सेट किया गया था। –

16

ठीक है, मैं इस सवाल का जवाब मिल गया एक टर्मिनल एमुलेटर और एक्स सर्वर से कनेक्शन में धीमी है "

वहाँ इस समस्या को हल करने के लिए तीन तरीके हैं:

  1. साथ विम शुरू" vim -X "थी अक्षम कर देता है रों X11 संचार
  2. "unset DISPLAY" कॉलिंग भी X11 संचार को निष्क्रिय
  3. विम "+X11" सुविधा के बिना संकलित किया गया है, तो यह संचार जगह

मैं "unset DISPLAY" के लिए चला गया के बाद से मैं नहीं ले जाएगा मुझे अन्य अजीब त्रुटि संदेश मिल रहे हैं, और अब vim तुरंत शुरू होता है। मैंने -X पैरामीटर का भी परीक्षण किया, जिसने समस्या को भी हल किया (यहां तक ​​कि DISPLAY पैरामीटर अभी भी सेट है)।

+0

मैंने अपने स्क्रीनआरसी में "अनसेट डिस्प्ले" जोड़ा। –

+0

मैंने संख्या 1 और 2 की कोशिश की है, और उन्होंने मेरे लिए काम नहीं किया है। .vimrc में 'set mouse =' सेट करना चाल है। –

1

स्टार्टअप पर विम लटकने का एक और आम कारण यह है कि जब यह जीपीएम (यानी: कस्टम फोंट इत्यादि) तक पहुंचने का प्रयास कर रहा है। मेरे मामले में, मुझे वही लक्षण थे, लेकिन यह जीपीएम के साथ एक माउस से संबंधित मुद्दा होने के समाप्त हो गया।

मेरे .vimrc में निम्नलिखित (से: http://www.linuxquestions.org/questions/slackware-14/vim-freeze-at-startup-when-in-ssh-session-856606/) को डालकर वीआईएम के साथ हैंग-ऑन-स्टार्टअप समस्या तय की गई है।

" This section is bigger in my .vimrc, this is just an excerpt. 
if has('gui_running') 
    " Mouse on GUI comes handy. 
    set mouse=a 
else 
    set mouse= 
endif 

आशा इस अन्य पाठकों कि इस तरह से :)

0

स्टार्टअप पर फांसी जब जीपीएम पहुंचने का प्रयास कर vim का उल्लेख मामले को संबंधित, आप अगर यह strace का उपयोग कर मामला है बता सकते हैं आने में मदद करता है। एक टर्मिनल/कंसोल में पहली बार चलाने vim इतना है कि यह लटकी हुई है

vim 

तो, एक और टर्मिनल के लिए जाना पीआईडी ​​हो और यह

$> pgrep vim       
32502 

$> strace -p 32502 
Process 32502 attached - interrupt to quit 
connect(4, {sa_family=AF_FILE, path="/dev/gpmctl"...}, 13 

strace तो हम एक जीपीएम मामला है। बस जीपीएम सेवा को पुनः आरंभ और हम

$> service gpm restart 
Shutting down console mouse services:      [ OK ] 
Starting console mouse services:       [ OK ] 
0

जाना त्रुटि खोजने के लिए strace vim का उपयोग अच्छे हैं मुझे इस दिया:

.vim/बंडल/Vundle.vim ", {st_mode = S_IFDIR | 0755, st_size = 40 9 6, ...}) = 0 getdents (4,/* 0 प्रविष्टियों * /, 32768) = 0 पास (4) = 0 --- SIGSEGV (विभाजन गलती) @ 0 (0) ---

इतना दूर करने Vundle.vim इस मुद्दे को हल किया गया।

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