यह एक टर्मिनल प्रतिबंध है, क्योंकि vi केकोड्स को समान रूप से देखता है। कोई इसे सम्मिलित मोड में जाकर सत्यापित कर सकता है i, फिर Ctrlvकिसी विशेष वर्ण के शाब्दिक इनपुट की अपेक्षा करने के लिए एक मोड में vi डाल सकता है और फिर उदा CtrlShifta। एक ^A
आउटपुट दिखाई देगा। अब अनुक्रम करना Ctrlv, Ctrlaऔर फिर से एक ^A
दिखाई देगा: दोनों इनपुट दृश्यों एक ही कीकोड vi ही देख रहे हैं में परिणाम।
टर्मिनलों के लिए जैसे xterm
आप उसे बदल सकते हैं। के लिए gnome-terminal
जो ध्यान नहीं देता एक्स संसाधनों सेटिंग्स मैं निम्न कार्य पूरे करने को पता नहीं है:
यह SO प्रश्न एक ही विषय को कवर करता है, और यह उदाहरण.Xresources
फ़ाइल में कई कुंजियों को मैप करने के लिए उपयोग में दिखाता है । उदाहरण के लिए:
XTerm*vt100.translations: #override \
Ctrl ~Meta Shift <Key>a: string(0x1b) string("[65;5u") \n\
Ctrl ~Meta Shift <Key>b: string(0x1b) string("[66;5u") \n\
Ctrl ~Meta Shift <Key>f: string(0x1b) string("[70;5u")
अब हमारे पास Ctrlaबनाम CtrlShifta, Ctrlbबनाम CtrlShiftb, Ctrlfबनाम के लिए अलग-अलग महत्वपूर्ण अनुक्रम हैं CtrlShiftf।
अब हम उन्हें अलग तरीके से मैप कर सकते हैं ~/.vimrc
:
map <ESC>[65;5u :echo "ctrl-shift-a received"<CR>
map <C-a> :echo "ctrl-a received"<CR>