লিনাক্সের এমন কোনও পাঠ্য সম্পাদক সম্পর্কে কি কেউ জানেন যা আমাকে লাইন ব্রেক এবং ক্যারেজের রিটার্ন দেখতে দেয়? ভিম কি এই বৈশিষ্ট্যটি সমর্থন করে?
লিনাক্সের এমন কোনও পাঠ্য সম্পাদক সম্পর্কে কি কেউ জানেন যা আমাকে লাইন ব্রেক এবং ক্যারেজের রিটার্ন দেখতে দেয়? ভিম কি এই বৈশিষ্ট্যটি সমর্থন করে?
উত্তর:
:set listভিমে সাদা অংশ দেখাবে। লাইনের $শেষটি ' ' হিসাবে দেখায় এবং ক্যারেজ রিটার্ন সাধারণত ' ^M' হিসাবে প্রদর্শিত হয় ।
:set listপ্রদর্শন করবে না ^M। -bVi / vim এ অপশন সরবরাহ করা কাজ করবে। অথবা, একবার :e ++ff=unix
:set nolist
সরকারী উত্তরের সাথে একমত নন:
:set list^ এম অক্ষর (সিআর) প্রদর্শন করবে না । Vi / vim- এ বিকল্প সরবরাহ করার কাজ করবে। অথবা, একবার ভিম লোড হয়ে গেলে টাইপ করুন :e ++ff=unix।
:help editশো e[dit]! [++opt] [+cmd]। এবং :help ++eবলছে যে [++ অপ্ট] যুক্তিটি 'ফাইল ফর্ম্যাট' এর মানকে জোর করতে ব্যবহার করা যেতে পারে [..] ।
:set listনিউলাইন দেখায় ( $), :e ++ff=unixসিআর ( ^M) দেখায় ; যদি আপনি উভয়ই দেখতে চান :set listতবে:e ++ff=unix
:set ff=unixভিমকে লাইন এন্ডিংকে ইউনিক্স স্টাইলে পরিবর্তন করতে বলেছেন (ফাইল ফর্ম্যাট সেট করার অংশ হিসাবে), সুতরাং এম এম অক্ষর আর নেই (এবং তাই প্রদর্শিত হয় না)। :e ++ff=unixএটিকে ফাইল-ফর্ম্যাটটি unixআসলে সামগ্রীগুলি পরিবর্তন না করেই বলপূর্বক সেট করতে বলে । সুতরাং ভিম এটিকে ইউনিক্স ফাইলের মতো পড়েন, সিআর অক্ষরগুলি অতিরিক্ত হিসাবে দেখেন এবং এগুলি এম এম হিসাবে প্রদর্শন করেন।
vimকারণে আমার পক্ষে কাজ করে না ... আমি না -bবিকল্প হিসাবে বোঝাতে চাইছি না বা এর :e ++ff=unix
ষষ্ঠটি x0Aপরবর্তী লাইনে পরবর্তী পাঠ্য দেখিয়ে নিউলাইনগুলি (এলএফ অক্ষর, কোড ) দেখায় ।
ব্যবহার করুন -bবাইনারি মোডের জন্য সুইচ। যেমন vi -b filenameবা vim -b filename --।
এটি তখন সিআর অক্ষরগুলি ( x0D) প্রদর্শন করবে যা সাধারণত ইউনিক্স স্টাইল ফাইলগুলিতে অক্ষর হিসাবে ব্যবহৃত হয় না ^M।
Unixপরিবেশে কাজ করি । তবে আমি যদি ফাইলে কিছু থাকে তবে উইন্ডোজ টাইপের লাইন শেষ সম্পর্কে সতর্ক করতে চাই। হবে vi -b filenameবা :set binaryশুধু দেন ^Mযদি এটি একটি উইন্ডোজ টাইপ ফাইল এবং অন্য কোন লাইন শেষা w শ অন্যথায় কে?
কেবল :set listসিআরকে বাইরে ^Mছাড়া কেন দেখাবে না e ++ff=unixএবং এর সাথে কেন :set listকিছুই করার নেই তা স্পষ্ট করার জন্য ^M।
অভ্যন্তরীণভাবে যখন তেজ সার্চ তার বাফার মধ্যে একটি ফাইল, এটা তার নিজস্ব প্রতিনিধিত্ব আছে এমন সমস্ত লাইন শেষ অক্ষর প্রতিস্থাপন (এটা কল দিন $'গুলি)। কোন অক্ষরগুলি অপসারণ করা উচিত তা নির্ধারণ করতে, এটি প্রথমে সনাক্ত করে যে কোন ফরম্যাটে লাইন সমাপ্তি কোন ফাইলে সংরক্ষণ করা হয়। শুধুমাত্র CRLF থাকে তাহলে '\r\n'অথবা শুধুমাত্র সি আর '\r'বা শুধুমাত্র এলএফ '\n'লাইন শেষ অক্ষর, তারপর 'fileformat'সেট করা হয় dos, macএবং unixযথাক্রমে।
যখন listবিকল্প সেট করা থাকে, তেজ প্রদর্শন $চরিত্র যখন লাইন বিরতি কোন ব্যাপার কি ঘটেছে fileformatবিকল্প সনাক্ত করা হয়েছে। এটি লাইন-ব্রেকগুলির নিজস্ব অভ্যন্তরীণ উপস্থাপনা ব্যবহার করে এবং এটি এটি প্রদর্শন করে।
এখন আপনি যখন ডিস্কে বাফার লেখেন , ভিম লাইন-এন্ডিং অক্ষরগুলি সন্নিবেশ করায় যা fileformatবিকল্পগুলি সনাক্ত করা হয়েছে সেই অনুসারে , প্রয়োজনীয় সমস্ত $অক্ষরের সাথে প্রয়োজনীয়ভাবে অভ্যন্তরীণ রূপান্তর করে । যদি fileformatঘটনাটি ঘটে থাকে unixতবে এটি কেবল \nতার অভ্যন্তরীণ লাইন-ব্রেকের জায়গায় লিখবে ।
কৌশলটি হ'ল ভিমকে একটি dosএনকোডযুক্ত ফাইলটি পড়তে বাধ্য করা unix। নেট এফেক্টটি হ'ল এটি সমস্তের \nছেড়ে \rযাওয়া'র ছোঁয়াছা অপসারণ করবে এবং এগুলি ^Mআপনার বাফার হিসাবে প্রদর্শিত হবে । সেটিং :set listঅতিরিক্ত হিসাবে অভ্যন্তরীণ লাইন-এন্ডিংস দেখায় $। সর্বোপরি, আপনি এনকোডড লাইন-ব্রেকগুলির ^M$জায়গায় দেখতে পাচ্ছেন dos।
এর :set listসাথে দেখানোর কোনও সম্পর্ক নেই যে লক্ষ্য করুন ^M। সন্নিবেশ মোডে অনুসরণ করে listএকক সিআর ব্যবহার করে আপনি এটি নিজের দ্বারা পরীক্ষা করে নিতে পারেন ( প্রথমে আপনি বিকল্পটি অক্ষম করেছেন তা নিশ্চিত করুন ) । ডিস্কে বাফার লেখার পরে এবং এটি আবার খোলার পরে আপনি বিকল্পটি 0 তে সেট করা সত্ত্বেও দেখতে পাবেন ।CTRL-VEnter^Mlist
আপনি http://vim.wikia.com/wiki/File_format বা :help 'fileformat'ভিমে টাইপ করে ফাইল ফর্ম্যাটগুলি সম্পর্কে আরও জানতে পারেন ।
নিম্নলিখিত কমান্ড চেষ্টা করুন।
: বাইনারি সেট করুন
ভিআইএম-এ, "-b" কমান্ড লাইন বিকল্পটি ব্যবহার করার মতো একই কাজ করা উচিত। আপনি যদি এটি আপনার প্রারম্ভকালে (অর্থাত্। Vimrc) ফাইলে রাখেন তবে এটি সর্বদা আপনার জন্য থাকবে।
অনেক * নিক্স সিস্টেমে একটি "ডস 2 ইউনিক্স" বা "ইউনিক্সডোডস" কমান্ড রয়েছে যা ফাইলটি প্রক্রিয়া করতে পারে এবং কোনও সন্দেহজনক লাইন সমাপ্ত সমস্যা সমাধান করতে পারে। লাইন শেষের সাথে যদি কোনও সমস্যা না হয় তবে ফাইলগুলি পরিবর্তন করা হবে না।
set binaryমতো নয় vim -b filename.py। কোন ধারণা কেন? আমি যাচাই করেছিলাম helpএবং মনে হয় আপনি যা বলছেন তা সাধারণত সঠিক। আমি কেন বুঝতে পারি যে এটি কেন এমন?
:e ++ff=unix^Mআমি unixটাইপ করা ফাইলগুলি ব্যবহার করার সময় সঠিকভাবে প্রদর্শন করে না এবং প্রদর্শন করে না .. সুতরাং আমার ধারণা সমস্যাটি আপাতত সমাধান হয়ে গেছে ...
কমান্ডের একটি তালিকা চালানোর জন্য, আপনাকে .vimrc ফাইল সম্পাদনা করার পরামর্শ দিচ্ছি। আপনার .vimrc ফাইলটি সম্পাদনা করুন:
cat >> ~/.vimrc <<EOF
set ffs=unix
set encoding=utf-8
set fileencoding=utf-8
set listchars=eol:¶
set list
EOF
আপনি যখন ভিআইএম কার্যকর করছেন তখন .vimrc তে কমান্ডগুলি কার্যকর করা হয় এবং আপনি এই উদাহরণটি দেখতে পারেন:
My line with CRLF eol here ^M¶
ব্যবহার করে catএবং -Aআপনি এর মতো নতুন লাইনগুলি দেখতে $পাবেন^I
cat -A myfile
আপনি জিডিট এডিটর ব্যবহার করে ব্রেক লাইন দেখতে পারেন ।
প্রথমত, যদি আপনি ইনস্টল না করে থাকেন:
sudo apt-get install gedit
এখন, জিডিট প্লাগইন ইনস্টল করুন :
sudo apt-get install gedit-plugins
এবং অঙ্কন স্পেস প্লাগইন নির্বাচন করুন, পছন্দসমূহে প্রবেশ করুন এবং নতুন লাইন আঁকুন চয়ন করুন
ভিএসকোড ব্যবহার করে আপনি লাইন এন্ডিং এক্সটেনশন ইনস্টল করতে পারেন ।
সাব্লাইম টেক্সট 3 এর একটি RawLineEdit নামে একটি প্লাগইন রয়েছে যা লাইন শেষ দেখায় এবং স্বেচ্ছাসেবী লাইন-সমাপ্তির প্রকার সন্নিবেশকে অনুমতি দেয়
shift + ctrl + p এবং প্লাগইনটির নামটি টাইপ করুন এবং লাইন শেষ দেখানোর জন্য টগল করুন।