Vim কি কেবল ASCII অক্ষর প্রদর্শন করতে পারে এবং অন্যান্য বাইটগুলি বাইনারি ডেটা হিসাবে বিবেচনা করতে পারে?


13

আমি ইতিমধ্যে জানি vim -b, তবে ব্যবহৃত লোকেলের উপর নির্ভর করে এটি একক অক্ষর হিসাবে বহু-বাইট অক্ষর (ইউটিএফ -8 এর মতো) প্রদর্শন করে।

আমি কীভাবে vimকেবল ASCII মুদ্রণযোগ্য অক্ষরগুলি প্রদর্শন করতে এবং বাক্সটিকে বাইনারি ডেটা হিসাবে বিবেচনা করতে বলতে পারি , চরসেটটি কোনও ব্যাপার না?

উত্তর:


18

ব্যবহার করার সময় vim -b, এটি সমস্ত উচ্চতর অক্ষর প্রদর্শন করে <xx>:

set encoding=latin1
set isprint=
set display+=uhex

যে কোনও একক বাইট এনকোডিংয়ের কাজ করবে, ভিম সমস্ত নিম্নচরীদের জন্য ASCII ব্যবহার করে এবং সেগুলি মুদ্রণযোগ্য হিসাবে কঠোর কোডিংযুক্ত। isprintখালি সেট করা অন্য সমস্ত কিছু মুদ্রণযোগ্য হিসাবে চিহ্নিত করবে। সেটিংগুলি uhexহেক্সাডেসিমাল হিসাবে তাদের প্রদর্শন করবে।

প্রতিটি কমান্ডের পরে প্রদর্শনটি কীভাবে পরিবর্তিত হয় তা এখানে:

আগে এনকোডিং সেট করার পরে isprint সেট করার পরে uhex সেট করার পরে


এই বিকল্পগুলির উপর নির্ভর করে না -b, এটি কেবলমাত্র কয়েকটি অন্যান্য বিকল্প সেট করবে, দেখুন :help edit-binary। আমি কীভাবে অ-প্রিন্টেবল বাইট দেখানো হয় তার মধ্যে কোনও পার্থক্য দেখছি না (এটি -bসাধারণভাবে ছাড়া NUL দেখায় )। আমি বেশিরভাগই ব্যবহার করছি না -b, কারণ আমি পাঠ্য ফাইলে অদ্ভুত এনকোডিংগুলি পরীক্ষা করতে এই বিকল্পগুলি ব্যবহার করি।
পাস্কাল

খুব সহজ, আমি ওয়ার্ড থেকে পাঠ্যে আটকানোর সময় এটি ব্যবহার করতে যাচ্ছি। এই কমান্ডগুলি একটি একক set encoding=latin1|set isprint=|set display+=uhex
লাইনেও

1

এটি আপনি যা খুঁজছেন তা মনে হচ্ছে। vimউইকির শিরোনামের এই টিপ : ইউটিএফ -8 ভিমকে লাতিন 1 হিসাবে ল্যাটিন 1 পড়তে বাধ্য করছে

$ vim -c "e ++enc=latin1" file.txt

এছাড়াও থেকে vim's :helpআপনি এনকোডিং উপর আরো দেখতে এটা করতে পারেন।

:help enc

থেকে সারাংশ :help enc

'encoding' 'enc'        string (default: "latin1" or value from $LANG)
                        global
                        {only available when compiled with the +multi_byte
                        feature}
                        {not in Vi}
    Sets the character encoding used inside Vim.  It applies to text in
    the buffers, registers, Strings in expressions, text stored in the
    viminfo file, etc.  It sets the kind of characters which Vim can work
    with.  See encoding-names for the possible values.

    NOTE: Changing this option will not change the encoding of the
    existing text in Vim.  It may cause non-ASCII text to become invalid.
    It should normally be kept at its default value, or set when Vim
    starts up.  See multibyte.  To reload the menus see :menutrans.

    This option cannot be set from a modeline.  It would most likely
    corrupt the text.

    NOTE: For GTK+ 2 it is highly recommended to set 'encoding' to
    "utf-8".  Although care has been taken to allow different values of
    'encoding', "utf-8" is the natural choice for the environment and
    avoids unnecessary conversion overhead.  "utf-8" has not been made
    the default to prevent different behavior of the GUI and terminal
    versions, and to avoid changing the encoding of newly created files
    without your knowledge (in case 'fileencodings' is empty).
    ...
    ...

3
এটি বেশ সুন্দর, তবে আমি " vimকেবলমাত্র ASCII মুদ্রণযোগ্য অক্ষরগুলি প্রদর্শন করতে " চাই এবং আপনার সমাধানটিতে লাতিন 1 অক্ষর ব্যবহার করা হয় (এটি আইএসও -8859-1, এটি এসএসআইআইয়ের একটি সুপারসেট), এটি এভাবে অক্ষর প্রদর্শন করবে যেমন éআমি ' d বরং হিসাবে প্রদর্শিত হতে চান <e9>
টোটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.