रिमोट सर्वर पर vim / nano में SSH की गारबिंग अक्षर


18

... और यह मुझे पागल कर रहा है।

मूल रूप से (यह पिछले कुछ महीनों में हो रहा है), मैं कुछ अलग सेंटोस सर्वर (एक लिनोइड, एक और वीपीएस, और एक साझा होस्ट जिसकी मुझे शेल एक्सेस है) में लॉग इन करता हूं, 5.5, 5.7 और 6 रन करता है, अपने से मैक ओएस एक्स शेर का उपयोग करते हुए, टर्मिनल का उपयोग कर।

मूल रूप से:

$ ssh username@example.com

[remote-host] $ nano somefile.txt

एक बार जब मैं फ़ाइल को संपादित करना शुरू कर देता हूं, अगर मैं कर्सर को चारों ओर ले जाने के लिए तीर कुंजियों का उपयोग करता हूं, या हटाना शुरू कर देता हूं, तो फिर से टाइप करने पर, कर्सर थोड़ा इधर-उधर उछलता है, और यदि मैं फ़ाइल को सहेजता हूं और इसे फिर से खोलता हूं, तो यह स्पष्ट है कि कर्सर था वास्तव में, बिना किसी स्पष्ट कारण के एक पंक्ति में सभी जगह कूदना।

मुझे अंत में "यह एक नवगीत पाठ है" जैसी चीजें मिल रही हैं। जब मैंने (कर्सर-पागल संपादक को) टाइप किया था "यह पाठ की एक पंक्ति है।"

यह एक बड़ी समस्या है जब यह कॉन्फ़िगरेशन फ़ाइलों को संपादित करने की बात आती है, क्योंकि मुझे अक्सर एक पंक्ति को संपादित करना पड़ता है, सहेजना और बंद करना, फिर यह सुनिश्चित करने के लिए फिर से खोलना कि रेखा सही है ... फिर दूसरी पंक्ति को संपादित करें ... और यह काफी कष्टप्रद हो रही है। ।

मुझे लाइनोड लिश शैल विम और नैनो ने परेशानियों का सामना करना पड़ा: लाइनों को दिखाई नहीं दे रहा है / कर्सर की स्थिति गलत है , लेकिन मुझे नहीं पता कि यह बहुत संबंधित है, क्योंकि यह विशेष रूप से लिश का जिक्र है।


1
हे @geerlingguy, मैंने इस प्रश्न का उत्तर वर्षों पहले पोस्ट किया था जब आपका नाम मेरे लिए कुछ भी नहीं था, लेकिन अब मैं आपके काम का नियमित रूप से उपयोग करता हूं। आपके सभी योगदानों के लिए धन्यवाद!
dbenton

1
@ डेंटन - मैं आपकी मदद करता हूं, आप मेरी मदद करें, हम एक खुशहाल समुदाय हैं :)
जेरलिंग्लुगी

जवाबों:


14

[ अद्यतन: मैक ओएस एक्स माउंटेन लायन १० .: के रूप में, टर्मिनल इस मुद्दे को समाप्त करते हुए बैकटैब एस्केप अनुक्रम का समर्थन करता है।]

उन सर्वरों पर नैनो का संस्करण (ओं) को कभी-कभी एक वर्ण द्वारा छोड़े गए कर्सर को ले जाने पर बैकटैब (ESC [Z) अनुक्रम भेजता है, लेकिन टर्मिनल इस अनुक्रम का समर्थन नहीं करता है, इसलिए नैनो को लगता है कि कर्सर तब चला गया है जब यह है ' t और कर्सर की वर्तमान स्थिति के बारे में इसका विचार टर्मिनल के साथ समानार्थक है।

जिन कारणों से मैं थाह नहीं कर सकता, नैनो बाईं ओर जाने पर बैकटैब भेजता है और टैब स्टॉप के दाईं ओर कर्सर एक वर्ण होता है। इसी प्रकार, IIRC, यह दाईं ओर जाने पर एक टैब (कंट्रोल-आई) भेजता है और टैब टैब के बाईं ओर कर्सर एक वर्ण होता है। मुझे नहीं पता कि यह हमेशा एक ही वर्ण अनुक्रमों का उपयोग करके बाएं / दाएं घूमने के बजाय टैब के आसपास ऐसा क्यों करता है। मैक ओएस एक्स शेर 10.7 के साथ नैनो के संस्करण को ऐसा नहीं किया जाता है।

नैनो केवल यही करती है जब टर्मोफ कहते हैं कि cbtक्षमता समर्थित है। टर्मिनल के लिए डिफ़ॉल्ट टर्मफ़्लो है xterm-256color, जो इस क्षमता की घोषणा करता है और इसे बैकटैब अनुक्रम में मैप करता है। एक वर्कअराउंड TERMवातावरण चर को कुछ इस तरह सेट करना है जो इस क्षमता को घोषित नहीं करता है। आप स्थानीय मशीन पर इनवॉइस sshया दूरस्थ होस्ट पर शेल स्टार्टअप फ़ाइल में कर सकते हैं। इसे xterm-colorचुटकी में करना, हालांकि यह अनुशंसित नहीं है, क्योंकि यह अन्य महत्वपूर्ण व्यवहार (जैसे 256 रंग, बीसीई, वैकल्पिक स्क्रीन सामग्री संरक्षण) को अक्षम करता है। (एक अधिक हैवीवेट दृष्टिकोण को दूर करने के लिए दूरस्थ होस्ट पर आपकी xterm-256color(या xterm) टर्मोफ़ फ़ाइल को अनुकूलित करना है cbt।)

दूरस्थ होस्ट (एक ही रास्ता या किसी अन्य) को अनुकूलित करने की अनुशंसा की जाती है, इसलिए स्थानीय या अन्य दूरस्थ होस्ट पर अनुकूलन लागू नहीं होते हैं, लेकिन सबसे सरल समाधान यह है कि xterm-colorइसके बजाय उपयोग करने के लिए एक टर्मिनल प्राथमिकता सेटिंग को बदलना है xterm-256color:

टर्मिनल> वरीयताएँ> सेटिंग्स> [प्रोफ़ाइल]> उन्नत> टर्मिनल को निम्न घोषित करें:

मैं एक मौजूदा सेटिंग प्रोफ़ाइल को डुप्लिकेट करने की सलाह देता हूं, इसे कस्टमाइज़ कर रहा हूं और केवल उन दूरस्थ होस्ट से कनेक्ट होने पर इसका उपयोग कर रहा हूं।


Xterm- रंग सेट करना निश्चित रूप से काम करता है - क्या आप दूरस्थ होस्ट पर मेरी टर्मफ़ोल्डर फ़ाइल को अनुकूलित करने के बारे में विस्तार से बता सकते हैं? एक लिंक करना होगा, लेकिन मैं शायद इस पोस्ट को हर अब और फिर इस टिप को याद करने के लिए वापस
आऊंगा

1
@geerlingguy एक मौजूदा शब्दकोष परिभाषा को संशोधित करता है । स्रोत फ़ाइल cbt=\E[Zमें प्रविष्टि निकालें .ti
TachyonVortex

इससे मुझे मदद मिली, मैंने xterm-256color से xterm में विकल्प सेट किया और अब मैं चयन कर सकता हूं, कॉपी कर सकता हूं, आदि .. जैसा कि मैं पहले करता था। (मुझे नहीं पता कि इस विकल्प को कैसे या किसने बदल दिया)। धन्यवाद!
spacebiker

8

मुझे भी यही समस्या हो रही थी। मुझे यह धागा मिला , जिसने अन्य समाधानों के बीच, दूरस्थ सर्वर पर एक पर्यावरण चर की सिफारिश की:

export TERM=xterm-color

इसे ~ / .bash_profile में जोड़ने से मेरे लिए समस्या हल हो गई। यह समाधान सरल है और एक विशिष्ट होस्ट पर केवल एक विशिष्ट उपयोगकर्ता को प्रभावित करने का लाभ है।


2

मैं MobaXTerm कार्यक्रम में एक ही मुद्दा था। समस्या का कारण -K कुंजी थी जिसे मैंने PuTTY का उपयोग करते समय नैनो में numpad सक्षम करने के लिए उपयोग किया था। जैसा कि मुझे पता चला है कि MobaXTerm में -K की जरूरत नहीं है (डिफ़ॉल्ट रूप से काम करता है) और इसके बिना एरो कीज़ सही तरीके से काम करते हैं और बेतरतीब ढंग से कचरा नहीं डालते हैं।


1

CentX के साथ OSX 10.7.4 अतिथि OS के रूप में चल रहा है

OSX टर्मिनल वरीयताओं के भीतर, सेटिंग्स, उन्नत

Declare terminal as:xterm-color
Strict VT-100 keypad behaviour - TICKED!

और कोई समस्या नहीं :)


ध्यान दें कि "VT-100 कीपैड व्यवहार" वरीयता इस प्रश्नोत्तर के लिए पूरी तरह से असंबंधित है और इसका परिणाम पर कोई प्रभाव नहीं पड़ता है।
क्रिस पेज

1

MobaXterm के उपयोगकर्ताओं के लिए। यदि आप -K का उपयोग नहीं कर रहे हैं और अभी भी समस्या का सामना कर रहे हैं। सुनिश्चित करें कि निम्न पंक्तियों को आपकी / etc / nanorc फ़ाइल में टिप्पणी की गई है।

# सेट रिबेंडलीट

# रिबेंडकीपैड सेट करें


0

संभावित समस्या यह है कि, हाँ, आपकी स्थानीय मशीन और आपका सर्वर दोनों यूनिक्स सिस्टम पर हैं जिनमें नैनो हैं, लेकिन वे नैनो संस्करण भिन्न हो सकते हैं।

export TERM=xterm-color

-1

यदि आपको जो मिलता है वह है "यह एक नवगठित पाठ है" और आपने जो टाइप किया है वह "पाठ की एक पंक्ति है" (मुझे अपनी रिपोर्ट सही माननी चाहिए) तो आपके पास एक परतदार "नियंत्रण" कुंजी है जो मैक पर है (कमांड ? सेब?)। क्योंकि नैनो "+ के आसपास कूदने" के लिए नियंत्रण + कुंजियों का उपयोग कर रहा है और आपके पास टाइप किए गए की तुलना में कम वर्ण हैं इसलिए हमारे पास a) गायब होने वाले वर्ण हैं b) नियंत्रण अनुक्रम जो बिना कुछ घटाए दिखाई देते हैं, a) b) तार्किक है।

आपके पास कुछ अप्रिय हॉटकी / मैक्रो / व्हाट्सन कार्यक्रम भी हो सकते हैं। मुझे संदेह है कि यह सुपरसुअर का है और सर्वरफॉल्ट का नहीं है, लेकिन मैं झंडी दिखाऊंगा कि किसी के पास एक यथार्थवादी, एसएसएच-बाध्य उत्तर है।


ऐसा तब होता है जब मैं एक पंक्ति पर आगे और पीछे जाने के लिए तीर कुंजियों का उपयोग करता हूं, अधिक बार जब मैं बस टाइप कर रहा होता हूं। लेकिन यह बहुत यादृच्छिक लगता है। मैं क्रिस के सुझाव को जल्दी से देखने की कोशिश करने जा रहा हूं कि यह काम करता है, लेकिन जवाब देने के लिए धन्यवाद!
geerlingguy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.