টার্মিনালে সিনট্যাক্স হাইলাইট করা


43

প্রচুর প্রোগ্রামিং-ভিত্তিক সম্পাদকগুলি সোর্স কোডকে রঙিন করবে। টার্মিনালে দেখার জন্য উত্স কোডটি রঙিন করবে এমন কোন আদেশ আছে কি?

আমি এটি দিয়ে একটি ফাইল খুলতে পারি emacs -nw(যা একটি নতুন উইন্ডো পপ করার পরিবর্তে টার্মিনালে খোলে) তবে আমি এমন কিছু সন্ধান করছি যা less(অথবা এটির সাথে কাজ করেless -R , যা এর ইনপুটটিতে রঙ পালানোর ক্রমগুলির মধ্য দিয়ে যায়)।

উত্তর:


66

সঙ্গে highlightএকটি টার্মিনাল যে একই রং পালাবার ক্রম সমর্থন উপর xterm:

highlight -O xterm256 your-file | less -R

সাথে ruby-rouge:

rougify your-file | less -R

সাথে python-pygments:

pygmentize your-file | less -R

সঙ্গে গনুহsource-highlight :

source-highlight -f esc256 -i your-file | less -R

এছাড়াও আপনি ব্যবহার করতে পারেন vimসাহায্যে একটি পেজার যেমন macros/less.shসঙ্গে জাহাজে স্ক্রিপ্ট vim(দেখুন :h lessমধ্যে vimবিস্তারিত জানার জন্য):

আমার সিস্টেমে:

sh /usr/share/vim/vim74/macros/less.sh your-file

অথবা আপনি বাক্য গঠন highlighters কোনো একটি ব্যবহার করতে পারে যে সমর্থন এইচটিএমএল আউটপুট এবং ব্যবহার elinksবা w3mপেজার (অথবা যেমন elinks -dump -dump-color-mode 3 | less -R) সঙ্গে মত গনুহsource-highlight :

source-highlight -o STDOUT -i your-file | elinks -dump -dump-color-mode 3 | less -R

হাইলাইট পাঠ্যকে এসভিজি / এইচটিএমএলে রূপান্তর করতে পারে যা অত্যন্ত উত্তেজনাপূর্ণ।
ইউটোপিক এক্সপ্রেস

14

আমি গনুহ ব্যবহার source-highlightসঙ্গে মিলিত less -Rএই জন্য। আপনার শেলের প্রারম্ভিককরণের ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন ( ~/.bashrcউদাহরণস্বরূপ):

cless(){
 LESSOPEN='| source-highlight --failsafe --out-format=esc256 -o STDOUT -i %s 2>/dev/null ' less -R "$@"
}

এটি ব্যবহার করা ভাষা অনুসারে উত্স কোডটি স্বয়ংক্রিয়ভাবে রঙ করা উচিত এবং যদি এটি না পারে তবে এটি lessসরাসরি তার ইনপুটটিতে চালু করবে ।


6

আপনি যদি lessআরও সাধারণভাবে রঙগুলিতে আগ্রহী হন তবে আপনি এটি দেখতে চাইতে পারেন lesspipe.sh। উদাহরণস্বরূপ, দেখুন http://freecode.com/projects/lesspipe

কম পাইপ.শ হ'ল পেজের জন্য কম ইনপুট ফিল্টার হিসাবে কম মানুষের পৃষ্ঠাতে বর্ণিত। স্ক্রিপ্টটি একটি ksh- সামঞ্জস্যপূর্ণ শেলের অধীনে চলে (যেমন বাশ, zsh) এবং বাইনারি সামগ্রী, সংকুচিত ফাইল, সংরক্ষণাগার এবং সংরক্ষণাগারে থাকা ফাইলগুলির সাথে ফাইলগুলি দেখার জন্য আপনাকে কম ব্যবহার করতে দেয়।

এটি শেল স্ক্রিপ্টগুলি, পার্ল স্ক্রিপ্টগুলি ইত্যাদি কোনও পাঠ্য সম্পাদক হিসাবে একইভাবে রঙিন করবে, তবে রঙিনকরণের জন্য কোনও "প্রিপ্রসেসিং" প্রোগ্রাম ব্যবহার না করেই।


ধন্যবাদ! আমি মনে করি lesspipe.shপ্রশ্ন পোস্ট করার আগে আমি যা মনে করার চেষ্টা করছিলাম ...
অ্যালেক্সিস

2

আমি সরলতা উপভোগ করি এবং আমি ন্যানো পাঠ্য সম্পাদক ব্যবহার করি, এই ক্ষেত্রে আমি সাধারণত অনুসরণ হিসাবে এগিয়ে যাই:

চেক ডাইন সিনট্যাক্স হাইলাইট উপলব্ধ: ls -la /usr/share/nano/

এটি নিম্নলিখিত কমান্ড সহ আমার ন্যানোর্ক ফাইলটিতে অন্তর্ভুক্ত করুন বা ম্যানুয়ালি করে

echo 'include /usr/share/nano/sh.nanorc' >> ~/.nanorc

সম্পর্কে lessআমি এই পৃষ্ঠায় একবার চেহারা প্রস্তাব


0

স্টাফেন চেজেলাসের পরামর্শ অনুসারে , highlightসিনট্যাক্স হাইলাইটটি প্রদর্শন করতে , .bashrc বা তেমন কিছুতে রাখার জন্য আমি বাশ ফাংশন করি। এটি দুর্দান্ত, দ্রুত এবং কার্যকরভাবে কাজ করে।

s(){ highlight --force -O ansi $1 | /usr/bin/less -R; }

202 ভাষার সিনট্যাক্স ফর্ম্যাটটিকে হাইলাইট করুন । দেখতে highlight --list-scripts=langs


0

আপনি প্যাকেজটি ব্যবহার করতে পারেন, e2ansi , যা লাইক moreএবং পছন্দকারীদের জন্য সিনট্যাক্স হাইলাইটিং সমর্থন সরবরাহ করে less

প্যাকেজটি সমস্ত পাঠ্য সম্পাদকের মা ইমাককে ব্যবহার করে প্রকৃত বাক্য গঠনটি হাইলাইট করে। একটি যুক্ত বোনাস হিসাবে, অন্যান্য সমস্ত রূপান্তরগুলি সাধারণত ইমাস দ্বারা সম্পাদিত হয় - যেমন ফাইল সঙ্কুচিত করা - তাও সম্পাদিত হয়।

উদাহরণ

নিম্নলিখিতটি ব্যবহার করে একটি ফাইল দেখার ফলাফল lessএবং e2ansi:

উদাহরণ

কনফিগারেশন

প্যাকেজটি একটি কমান্ড-লাইন সরঞ্জাম সরবরাহ করে e2ansi-catযা ব্যাচ মোডে ইমাক্স শুরু করে, ফাইলগুলি খুলবে, সিনট্যাক্সগুলি হাইলাইট করে এবং এএনএসআই সিকোয়েন্সগুলি ব্যবহার করে ফলাফলটি উপস্থাপন করে।

আপনি lessনিম্নলিখিত ভেরিয়েবলগুলি এতে সেট করে এটিতে সংহত করতে পারেন , উদাহরণস্বরূপ (আপনার init ফাইলের অবস্থানের ক্ষেত্রে ভিন্নতা থাকতে পারে):

export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"

উপরের কনফিগারেশনে, lessমূল টার্মিনাল উইন্ডো সামগ্রী পুনরুদ্ধার করুন যেখানে moreপ্রম্পটের পরে কেবল নতুন সামগ্রী আউটপুট দেয়।

দ্রষ্টব্য: আপনি যদি একটি পুরাতন সংস্করণ ব্যবহার করেন তবে lessএটি হয়ত ||বা -সিনট্যাক্সকে সমর্থন করবে না , সেক্ষেত্রে আপনাকে সহজভাবে ব্যবহার করতে হবে LESSOPEN=|/usr/local/emacs ...

lessপাইপ ব্যবহার করে

"-" অক্ষরটি LESSOPENনির্দেশ করে যে পাঠ্যটি পাইপ করার সময় ইনপুট ফিল্টারটিও ব্যবহার করা উচিত less। এই ক্ষেত্রে, ইমাসগুলি কেবল নিজেরাই পাঠ্যের উপর নির্ভর করতে পারে (এবং কোনও ফাইলের নাম নয়)। ভাগ্যক্রমে, ইমাক্স এর জন্য একটি সিস্টেম সরবরাহ করে। এছাড়াও, সরবরাহিত ফাইল ফাইল e2ansi-magic.elঅতিরিক্ত ফাইলের প্রকার সেট করে। উদাহরণ স্বরূপ:

পাইপ উদাহরণ

ইমাকস কেন ব্যবহার করবেন?

  • ইমাক্সের কার্যত সমস্ত প্রোগ্রামিং ভাষা এবং কাঠামোগত পাঠ্য বিন্যাসগুলির জন্য সমর্থন রয়েছে। বেশিরভাগ ক্ষেত্রে সিনট্যাক্স হাইলাইটিং সমর্থনটি দুর্দান্ত।
  • আপনি সহজেই আরও ভাষা এবং ফর্ম্যাটগুলির জন্য সমর্থন যুক্ত করতে পারেন বা আপনার প্রয়োজন অনুসারে বিদ্যমান প্যাকেজগুলি সংশোধন করতে পারেন।
  • ইম্যাক্স রঙিন থিম সমর্থন করে। ব্যবহার করার সময় e2ansi, থিমের রংগুলি কোনও ফাইলটি দেখার সময় সংরক্ষণ করা হয় less। আপনি বেশ কয়েকটি উত্স থেকে উপযুক্ত রঙের থিম চয়ন করতে পারেন, বা আপনার নিজস্ব ডিজাইন করতে পারেন।
  • আপনি যদি ইমেক্সকে আপনার পছন্দসই সম্পাদক হিসাবে ব্যবহার করেন তবে সম্পাদক হিসাবে যেমন ফাইলটি দেখবেন তখন আপনি একই হাইলাইটিং পাবেন less(এএনএসআই সিকোয়েন্স ফর্ম্যাটে বিয়োগ সীমাবদ্ধতা এবং টার্মিনাল উইন্ডো)।
  • lessস্বয়ংক্রিয় রূপান্তর সম্পাদনকারী ইমাস বৈশিষ্ট্যগুলির সুবিধা নেবে, উদাহরণস্বরূপ ফাইলগুলি সঙ্কুচিত করা। প্রকৃতপক্ষে, আপনি কোনও বহিরাগত সরঞ্জাম ব্যবহার করে বাইনারি ফাইলটিকে স্বয়ংক্রিয়ভাবে মানব পঠনযোগ্য ফর্মে রূপান্তর করার মতো ইমামসকে যে কোনও ধরণের রূপান্তর করতে শেখাতে পারেন।
  • দূরবর্তী অ্যাক্সেসের মতো ইমাকস সিনট্যাক্স ব্যবহার করে আপনি অন্যান্য মেশিনে অবস্থিত ফাইলগুলি দেখতে পারেন /USER@HOST:FILENAME

দরকারী লিংক

অপারেটিং সিস্টেম নোট

  • এমএস উইন্ডোতে, কনসোলটি এএনএসআই সিকোয়েন্সগুলি স্থানীয়ভাবে সমর্থন করে না। ভাগ্যক্রমে, lessঅ্যাপ্লিকেশনটি তাদের রেন্ডার করতে সক্ষম। আমি lessএমএস উইন্ডোজের জন্য সমসাময়িক কোনও বাইনারি বিতরণ সম্পর্কে অবগত নই এবং প্রদত্ত বিল্ড ফাইলগুলি ব্যবহার করা শক্ত। ভাগ্যক্রমে, সিএমকেless ব্যবহার করে এটি তৈরি করা সহজ , বিশদর জন্য এই পাঠ্যটি দেখুন।

  • ওএস এক্স এর একটি প্রাচীন সংস্করণ বিতরণ করে less। ভাগ্যক্রমে, উত্স থেকে সরাসরি একটি আধুনিক সংস্করণ তৈরি করা সহজ।


-2

একে সিনট্যাক্স হাইলাইটিং বলা হয়।

জিএনইউ উত্স-হাইলাইট যখন কোনও উত্স ফাইল দেওয়া হয়, সিনট্যাক্স হাইলাইট করে একটি নথি তৈরি করে।

আমি lessfilterনীচের স্ক্রিপ্টটি ব্যবহার করি বা আপনি lessএটির সাথে স্বয়ংক্রিয়ভাবে এটি চালনা করতে পারেন :

export LESSOPEN="| /path/to/lessfilter %s"
export LESS=' -R '

আমি এই নিবন্ধটি পেয়েছি এবং এটি এইভাবে করা শুরু করেছি:

#!/bin/sh
file -b -L "$1" | grep -q text &&
  /usr/share/source-highlight/src-hilite-lesspipe.sh "$1"

(এই src-hilite-lesspipe.shসাথে সরবরাহ করা হয় source-highlightতবে সমস্ত বিতরণ এটি অন্তর্ভুক্ত করে না)


4
"আপনি যদি নিবন্ধটিতে যান তবে লেখক অবশ্যই ম্যাক ব্যবহার করবেন যেহেতু তিনি তাঁর কমান্ডগুলির জন্য মূলধনগুলি ব্যবহার করেন": আমি ভয় করি আপনি কিছুটা বিভ্রান্ত হবেন: স্পষ্টতই আপনি সচেতন নন যে exportএকটি পরিবেশের পরিবর্তনশীলকে সংজ্ঞায়িত করে, একটি উপাধি নয়। কমান্ড less এনভায়রনমেন্ট ভেরিয়েবল থেকে ফ্ল্যাগ ব্যবহার LESS, তাই আপনার উত্তর কিছু কাজ করা প্রয়োজন।
অ্যালেক্সিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.