Zsh लाइन संपादक के साथ विशेष वर्ण कैसे डालें?


2

Vim में हम टाइप कर सकते हैं Ctrl + v फिर संख्या विशेष वर्ण सम्मिलित करने के लिए इन्सर्ट मोड में। इसका उपयोग ज्यादातर नियंत्रण वर्णों को सम्मिलित करने के लिए किया जाता है। लेकिन अगर हम ASCII नंबर जानते हैं तो किसी भी अक्षर को डाला जा सकता है। जैसे टाइपिंग Ctrl + v फिर 1 , 2 , 6 एक '~' वर्ण सम्मिलित करेगा। देख: http://vimdoc.sourceforge.net/htmldoc/insert.html#ins-special-keys मैं zsh लाइन संपादक के साथ समान या समान व्यवहार करना चाहता हूं। ध्यान दें, मैं vi मोड में zsh का उपयोग कर रहा हूं, लेकिन मुझे नहीं लगता कि यह मायने रखता है। मैंने पाया है कि एक प्रविष्टि डालने के साथ किया जा सकता है Ctrl + v फिर Ctrl + j , देख: ZSH लाइन संपादक में, एक नई लाइन कैसे डालें? । लेकिन मैं एक टिल्ड कैसे डालूं?

मुझे इसकी जरूरत है, क्योंकि मैं एक गूंगे साइट्रिक्स क्लाइंट के साथ काम कर रहा हूं, जिसके साथ मैं '~' कैरेक्टर टाइप नहीं कर सकता।

जवाबों:


1

तीन संभावनाएँ ( ~ दशमलव या अष्टाधारी संकेतन में ASCII कोड 126 या 176 है, सम्मान।):

  • उपयोग $'\OCT' वाक्यविन्यास, जहाँ OCT अष्टक संकेतन में ASCII कोड है:

    $ echo foo$'\176'bar
    foo~bar
    
  • प्रिंट के साथ कमांड प्रतिस्थापन का उपयोग करें:

    $ echo foo$(printf "\176")bar
    foo~bar
    
  • vi'S विशेष चार इनपुट के समान इस zle विजेट का उपयोग करें:

    insert-special-char() {
      LBUFFER+=$(printf "\x$(printf %x $NUMERIC)")
    }
    zle -N insert-special-char
    

    जहाँ से मैंने प्रिंटफ लाइन उधार ली थी व्यापक

    इस विजेट का उपयोग करने के लिए, इसे उदा। S zle के vi- कमांड-मोड में (या कोई अन्य कुंजी जो आप उपयोग नहीं करते हैं):

    bindkey -M vicmd "S" insert-special-char
    

    उसके बाद ASCII- कोड (दशमलव संकेतन में) टाइप करें जबकि zle's vi-command-mode और दबाएँ S। फिर विशेष वर्ण डाला जाता है:

    ESC 1 2 6 एस


पहले दो विकल्पों के साथ समस्या यह है कि वे सही तरीके से पथ विस्तार नहीं करते हैं। यहाँ मेरा मतलब है: `` `- & gt; % ls $ '\ 176' ls: ~: ऐसी कोई फ़ाइल या निर्देशिका `` `तो ~ मेरे घर निर्देशिका के पूर्ण पथ में विस्तारित नहीं है। हालाँकि विकल्प 3 ठीक से काम कर रहा है जैसे कि मैंने अभी '~' वर्ण टाइप किया था।
Gabor Marton

@ गैबरमार्टन: मैं देख रहा हूँ ... शायद ls $HOME आपके लिए एक आसान प्रकार का विकल्प है।
mpy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.