লেজ -f কীভাবে ভিএম এর সাথে রঙিন আউটপুট দেখাবেন?


9

এই প্রশ্নে গিলস উত্তর দিয়েছিল

তবুও অন্য সম্ভাবনা চালানো হয় tail -fএকটি ইন এ গিয়ে Emacs শেল বাফার এবং টিপে, Emacs এর সিনট্যাক্স শোভা ক্ষমতার ব্যবহার।

যেহেতু আমি একজন ভিম ব্যবহারকারী, আমি এটি ইমাসের সাথে নয়, ভিম দিয়ে করতে চাই ।
না তেজ এই বৈশিষ্ট্যটি আছে?


2
ভিম কেবল একটি পাঠ্য সম্পাদক, ইমা্যাক্সের বিপরীতে ... তবে, ভিমের জন্য একটি লেজ প্লাগইন রয়েছে যা ব্যবহারের হতে পারে।
জেসনওয়ারিয়ান

রয়েছে vimpager প্লাগ-ইন যে কৌতুক করতে পারে
BSD

1
এটি একটি পাঠ্য সম্পাদক হতে হবে? আপনার যদি কেবল পাঠ্য রঙ করতে হয় তবে আপনি ক্লাইড
golimar

অতিরিক্তভাবে, ভিমের জন্য টেলবান্ডল রয়েছে ।
জোফেল

এখানেও একই রকম প্রশ্ন রয়েছে । সমাধানগুলি মাল্টিটাইলের ব্যবহার এবং কীভাবে এটি কনফিগার করতে হয় তার ব্যাখ্যা দেয় , সম্ভবত এটি কার্যকর হতে পারে।
লগঅফ

উত্তর:


2

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

তবে এটি কেবলমাত্র টার্মিনালে কাজ করে। কমপক্ষে এক্স 11-এ, জিইউআই সংস্করণটি ক্র্যাশ করবে যদি জিইউআই অন্য একটি থ্রেড দ্বারা পরিবর্তিত হয়।

আপনি যদি অন্যান্য প্রোগ্রামগুলি গ্রহণ করেন তবে গ্রিসি এবং সিসিজে স্ট্রীমগুলি রঙিন করতে সক্ষম।


0

আমি এটি সংক্ষিপ্ত এবং প্রচুর হ্যাকিং বা বাহ্যিক স্ক্রিপ্ট ছাড়াই পছন্দ করি। যখন প্রয়োজন হবে আপনি প্রাক্তন (whithin vim) থেকে এই অনেলাইনারটি চালাতে পারেন (বা লগ-ফাইলগুলি খোলার জন্য প্রতিটি কমান্ডটি ভিআইএমআরসিতে রাখুন))

:set autoread | au CursorHold * checktime | call feedkeys("lh")

এবং অতিরিক্তভাবে আপনি :set syntax=logtalkলগ রঙ করতে পারেন

(যদি আপনি ফাইলটির শেষে প্রায় (প্রায়) ঝাঁপিয়ে পড়তে চান তবে কেবল ফিডকি দিয়ে "lh" এর পরিবর্তে "G" ব্যবহার করুন)

ব্যাখ্যা:

  • autoread: বাইরে থেকে পরিবর্তিত হয়ে ফাইলটি পড়ে (তবে এটি নিজে থেকে কাজ করে না, কোনও অভ্যন্তরীণ টাইমার বা এর মতো কিছু নেই It এটি কেবল তখনই পড়বে যখন ভিএম কোনও ক্রিয়া করবে যেমন প্রাক্তন কমান্ডের মতো) :!
  • CursorHold * checktime: যখন কার্সার দ্বারা নির্দিষ্ট সময়ের জন্য ব্যবহারকারী দ্বারা সরানো না হয় updatetime(যা ডিফল্টরূপে 4000 মিলিয়ন সেকেন্ড হয়) checktimeকার্যকর করা হয়, যা ফাইলের বাইরে থেকে পরিবর্তনগুলি পরীক্ষা করে
  • call feedkeys("lh"): কার্সারটি একবার, ডান এবং পিছনে বামে সরানো হয়। এবং তারপরে কিছুই ঘটে না (... যার অর্থ, এটি CursorHoldট্রিগার হয়েছে, যার অর্থ আমাদের একটি লুপ রয়েছে )

ব্যবহার করার সময় স্ক্রোলিং বন্ধ করার জন্য call feedkeys("G"), এক্সিকিউট করুন :set noautoread- এখন ভিম বলবে, ফাইলটি পরিবর্তন হয়েছিল উত্তরগুলি জিজ্ঞাসা করুন যে কেউ পরিবর্তনগুলি পড়তে চায় কিনা)

আমি ভিএম-তে (লেজ-এফের পরিবর্তে) লগফিলগুলি দেখার মত ধারণাটি পছন্দ করি, উদাহরণস্বরূপ যখন আপনি স্ক্রিন / tmux ছাড়াই ssh সেশনে কাজ করছেন। অতিরিক্ত হিসাবে আপনি প্রয়োজন হলে সরাসরি লগফিল থেকে অনুলিপি করতে পারেন, বা আউটপুট সরাসরি বাঁচাতে পারেন ... যা আপনি ভিএম দিয়ে করতে পারেন :)

* এই উত্তরটি থেকে ( ফানহাইকিউআংয়ের উত্তর এবং ফ্লুকাসের একটি মন্তব্যে উল্লেখ করা )

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.