2009-05-01 17 views
85

मेरी तीर कुंजियां घर पर सम्मिलित मोड में vi में काम नहीं करती हैं, वे केवल प्रत्येक 'एक' जैसी नई लाइन और पूंजी पत्र डालती हैं। क्या इसे ठीक करने का कोई रास्ता है?लिनक्स वीआई तीर कुंजियां डालने मोड में टूटी हुई

+0

ऑपरेटिंग सिस्टम के साथ किसी भी मुद्दे नहीं किया था? – Miquel

+3

मेरा मतलब लिनक्स का वितरण है? – Miquel

+0

क्या वे घर से दूर काम करते हैं? :-) –

उत्तर

97

मुझे लगता है कि आप विम का उपयोग कर रहे हैं क्योंकि इसे लिनक्स के रूप में टैग किया गया है। प्रयास करें:

:set nocompatible 

(आप घर निर्देशिका पथ की जाँच करने के echo $HOME चलाने इसे करने के लिए इस आदेश को जोड़कर इस के साथ अपने .vimrc कॉन्फ़िगर करने के लिए चाहते हो सकता है एक नया .vimrc फ़ाइल यदि पहले से ही अपने घर निर्देशिका में मौजूद नहीं बनाएँ,।।)

+7

सुनिश्चित करें कि आप 'vim' कमांड के साथ vi शुरू करें और 'vi' नहीं। 'Vim' की अधिकांश उन्नत और उपयोगी विशेषताएं डिफ़ॉल्ट रूप से तब तक अक्षम होती हैं जब तक आप इसे' vim' से शुरू नहीं करते। – pts

+1

@pts - केवल टूटी हुई प्रणालियों पर। मेरे सभी बक्से पर vi के रूप में vim शुरू करना ठीक काम करता है; हालांकि, कुछ सेंटोस बॉक्स हैं जिनका मैंने उपयोग किया है जो उस व्यवहार का प्रदर्शन करते हैं जिसके बारे में आप बात कर रहे हैं। –

+0

क्या कोई इस विवेक को शामिल करने के लिए इस उत्तर को संपादित कर सकता है? – Stephan

16

vi डालने की विधि में तीर कुंजियों का समर्थन नहीं करता है। विम का प्रयोग करें। यद्यपि आपका वीआई सिर्फ विम का लिंक हो सकता है, लेकिन इसे "मूल" vi जैसा व्यवहार करने के लिए कॉन्फ़िगर किया जा सकता है और इस प्रकार तीर कुंजियों को अक्षम करता है। बस सीधे vim का आह्वान करें।

+0

हालांकि यह कोई समाधान नहीं है, यह व्यवहार (आईएमओ) के लिए सबसे अच्छा स्पष्टीकरण है, जिससे 'vi' और 'vim' के बीच अंतर स्पष्ट हो जाता है। लेकिन मेरे बॉक्स 'vim' प्रिंट्स' कमांड पर नहीं मिला ': डी – DanFromGermany

+0

@DanFromGermany शायद आपके पास केवल एक vi इंस्टॉल है और vim नहीं है। यदि आप इसका उपयोग करना चाहते हैं तो कृपया लिनक्स सिस्टम के पैकेज मैनेजर के माध्यम से vim इंस्टॉल करने का प्रयास करें। – lothar

+0

': निर्धारित शब्द = ansi' मेरे लिए काम किया धन्यवाद [रज़] (https://stackoverflow.com/a/15228199/611007)। आप कहते हैं कि यह 'समर्थन नहीं करता'। मैं सोच रहा हूं कि क्या आपने कहा था कि उबंटू का 'विम-टिनी' पैकेज- मैं उपयोग कर रहा हूं- वेनिला 'vi' से अलग है या उसमें कार्य भी निर्धारित करेगा? – n611x007

65

उबंटू जहाज vim-tiny के साथ डिफ़ॉल्ट है, जिसमें सभी घंटियाँ और सीटी नहीं हैं।

सभी रसदार सुविधाओं को प्राप्त करने के लिए त्वरित sudo apt-get install vim करें जो हर किसी के बारे में बात कर रहा है।

+0

में अपनी लाइन पर 'सेट nocompatible' जोड़ें' यह वही था जो मुझे टकसाल लिनक्स में चाहिए था। Vim इंस्टॉल करके मैं अभी भी "vi" का उपयोग शुरू करने में सक्षम था और सभी कोड हाइलाइटिंग अब सक्षम था। लिनक्स ज्ञान का एक शानदार टुकड़ा :) – wired00

+0

यह डेबियन पर भी समस्या हल करता है! –

+0

यह मेरे रास्पबेरी पी (जेसी लाइट) के लिए काम किया। मैं इस मुद्दे का सामना कर रहा था जब मैं इसमें खोल सुरक्षित रखूंगा, लेकिन अब यह पूरी तरह से हल हो गया है :-) – JakeD

0

तुम भी करके देख सकते हैं 'noesckeys'

1

मैं बस पर स्विच .vim में Git का उपयोग करने के बाद तीर कुंजियों के साथ एक समस्या हुई।

मैं इस रेपो स्थापित किया है - https://github.com/sunaku/.vim

और एक घंटे के लिए चारों ओर से खुदाई के बाद, मैंने पाया कि स्वतः प्लगइन (जो वैसे भी पसंद नहीं था) तीर कुंजी तोड़ दिया।

प्लगइन दस्तावेज़ सुझाव देते हैं कि किसी को ttimeoutlen = 100 सेट करना चाहिए, लेकिन जो मेरे लिए काम नहीं करता है! (urxvt + स्क्रीन या urxvt, और यहां तक ​​कि xterm का उपयोग करके)

इसलिए मैंने अंत में प्लगइन हटा दिया।

4

केवल बात यह है कि मेरे लिए काम किया था ": अवधि सेट = एएनएसआई"

+1

ऐसा लगता है कि यह एक डॉकर कंटेनर का उपयोग करके मेरे लिए काम करता है। – ohlando

+1

यह मेरे लिए भी काम करता है। मैं खिड़कियों में cmd.exe का उपयोग कर रहा हूं और योनंट –

+0

@ कोडकोडो -1-ओ-लॉग-एन का उपयोग करके उबंटू में श्वास कर रहा हूं, तो आप किन पक्षों या उबंटू पक्ष पर 'vi' का उपयोग कर रहे थे? :) – n611x007

8

अभी तक एक और भिन्नता: इस समस्या को कुछ .vimrc परिवर्तन के बाद मेरे लिए दिखाई दिया। अंततः एक समेकित खोज से पता चला कि सामान्य मोड में ईएससी का मेरा चालाक पुनः मैपिंग अच्छा विचार नहीं था। निकाला जा रहा है यह समस्या हल हो:

" this is NOT something you want in .vimrc: 
" In normal mode, hitting Esc turns off search highlights: 
nmap <ESC> :nohl<CR> " Do NOT add this to .vimrc 
+0

मैंने इस मुद्दे का सामना करने के बाद सब कुछ करने की कोशिश की, और यही वह था जो मैं ढूंढ रहा था, धन्यवाद! –

+0

फिक्स के लिए धन्यवाद, मैंने हर जगह देखा। कोई विचार क्यों बचने से बचने से समस्याएं आती हैं? – nonphoto

-1

कमांड लाइन में यह लिख:

EXINIT="set nocompatible"; export EXINIT 
+1

कृपया अपने समाधान के कुछ (लघु) विवरण जोड़ें – Raidri

25

:set term=builtin_ansi

मेरे लिए तय की। आप या तो बचने के दौरान इसे विम में पेस्ट कर सकते हैं, (नींद मोड) या इसे ~/.vimrc के अंत में अग्रणी के बिना जोड़ें: "

+0

यह मेरे लिए काम करता है। –

+0

: सेट टर्म = xterm भी काम कर सकता है, (और याद रखना आसान है)। –

+0

FYI ': set term = builtin_ansi' मेरे लिए काम किया। ': निर्धारित शब्द = xterm' नहीं था। – FractalSpace

0

सिग्विन के साथ विंडोज 8.1 के अंदर विम का उपयोग करते समय मुझे एक ही समस्या थी ।

समाधान मेरे लिए काम किया है, बस अपने Cygwin टर्मिनल में निम्नलिखित कमांड चलाएँ:

cp vimrc_example.vim ~/.vimrc 
0

मैं तीर कुंजी के साथ एक ही मुद्दा था, लेकिन जब मैं प्रयोग किया जाता है कि सेट nocp या nocompatible फिर मेरे बैकस्पेस नहीं था 'किया था सही ढंग से

किसी कारण से जब मैं sudo apt-get install vim साथ vim स्थापित काम नहीं, vi तीर या बैकस्पेस अब

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