Vi में हेक्स या ऑक्टल कोड का उपयोग करके गैर-एससीआई वर्ण कैसे दर्ज करें


33

मैं पोस्टस्क्रिप्ट के लिए एक गोल्फ पुस्तकालय लिखने की कोशिश कर रहा हूं। लेकिन इसके लिए खुद को संघनित करने की जरूरत है। इसलिए मुझे ज्यादातर ascii पाठ के भीतर टाइप-इन अनियंत्रित बाइट्स के लिए एक सुविधाजनक तरीका चाहिए।

मुझे पता है कि यह आसानी से किसी भी प्रोग्रामिंग भाषा के साथ किया जा सकता है, लेकिन क्या मैं इसे vi में कर सकता हूं? ( :help octalकोई मदद नहीं मिली)।

संपादित करें: यहां पोस्टस्क्रिप्ट के लिए परिणामी गोल्फ लाइब्रेरी है । सौभाग्य से, मुझे इस बात का अहसास हुआ कि पुस्तकालय को खुद बनाना एक बेवकूफी भरा विचार था और मैंने ऐसा नहीं किया।


7
यदि विम उपलब्ध है, तो यह मदद कर सकता है
sr_

जवाबों:


15

मुझे लगता है कि आप का उपयोग करें vim, क्योंकि एक विम आदेश है। कुछ सिस्टमों में सिर्फ़ एक सिम्लिंक होता है, जो इसे vi- संगत मोड में चलाता है। :helpoctalvivim

विम में:

  • आप उपयोग किए जाने वाले मूल बहुभाषी विमान से यूनिकोड वर्ण दर्ज कर सकते हैं: +
    दबाएं और फिर चार अंकों का हेक्स यूनिकोड कोड दर्ज करें।ctrlv
  • एक अन्य विकल्प डिग्राफ है। आप इनके बारे में पढ़ सकते हैं vimकी मदद ( help: dig)।
    प्रेस ctrl+ kऔर फिर दो-वर्ण अनुक्रम।
    आप हमारे usig कमांड को सपोर्ट करने वाले सीक्वेंस को सूचीबद्ध कर सकते हैं :digraph

Nvi, vi और अन्य जगहों पर:

  • Ctrl+ Shiftऔर हिट करें Uऔर फिर यूनिकोड हेक्स कोड दर्ज करें।

3
मुझे लगता है कि Ctrl+Vयह दशमलव अंकों में प्रवेश करने के लिए है , यदि इसके बाद नहीं हैx

3
@Carlos सही है। यह उत्तर गलत है। एलन का जवाब सही है।
मलान

60
:help i_CTRL-V_digit

इन्सर्ट मोड में, इसके बाद Ctrl+ टाइप करेंV

  • एक दशमलव संख्या (0-255)
  • o फिर एक अष्टक संख्या (o0-o377, यानी 255 अधिकतम मान है)
  • x फिर एक हेक्स संख्या (x00-xFF, यानी 255 अधिकतम मान है)
  • u फिर 4-हेक्सचर यूनिकोड अनुक्रम
  • U फिर एक 8-हेक्सचर यूनिकोड अनुक्रम

दशमलव और अष्टक संख्या तीन अंकों तक सीमित हैं। 100 से कम दशमलव संख्या में अग्रणी शून्य शामिल हो सकते हैं, जिन्हें अनदेखा किया जाता है। 100 अक्टूबर (यानी, 64) से कम अष्टक संख्या में अग्रणी शून्य शामिल हो सकते हैं, लेकिन उनकी आवश्यकता नहीं है। ऑक्टल संख्या 100 ऑक्टो से अधिक या उसके बराबर हो सकती है जिसमें अग्रणी शून्य शामिल नहीं हो सकते हैं (लेकिन oयदि आप चाहें तो एक अग्रणी टाइप कर सकते हैं)।

आप उस वर्ण को लिखकर किसी संख्या को समाप्त कर सकते हैं जो उस मूलांक के लिए मान्य अंक नहीं है। उदाहरण के लिए,

  • Ctrl+ V    065 →  A
  • Ctrl+ V    65B →  Ab
  • Ctrl+ Vo041 →  !
  • Ctrl+ Vo419 →  !9

नियमित (एक-ऑक्टेट) हेक्स संख्या दो अंकों तक सीमित है। उपरोक्त के साथ, आप हेक्स कोड द्वारा निर्दिष्ट वर्णों के लिए मूलांक वर्ण (जैसे, Ctrl+ Vuu0041 →  A) दोहरा सकते हैं  ।  o और  xकेस-असंवेदनशील हैं।


कुछ और युक्तियां जोड़ने के लिए: दशमलव संख्या 0-255 के बीच होनी चाहिए। X00-xFF के बीच हेक्स संख्या।
समझदार

ascii esaple ctrl + v x1b(ascii कलर सीक्वेंस के लिए) है
ThorSummoner

1
एक रिमाइंडर कि अगर आप विंडोज में हैं और Ctrl + V को पेस्ट करने के लिए रीमैप किया गया है, तो आप इसके स्थान पर इंसर्ट मोड में Ctrl + Q का उपयोग कर सकते हैं। देखें stackoverflow.com/questions/426896/...
क्रिस आर डोनेली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.