আমি কি ভিএম উইন্ডোতে একটি ইন্টারেক্টিভ শেল ইস্যু করতে পারি?


17

আমি জানি আমি :!বা :r!বাহ্যিক কমান্ড কার্যকর করতে পারি এবং outputচ্ছিকভাবে এর আউটপুটটিকে পাঠ্যে sertোকাতে পারি। আমি এমনকি পারফর্ম করতে পারি :!shএবং আমি একটি শেল স্প্যান করব যা আমি এখান থেকে প্রস্থান না হওয়া অবধি বেঁচে থাকব - তবে শেলটি সক্রিয় থাকাকালীন, ভিম 'ঘুমন্ত' এবং অ্যাক্সেসযোগ্য। আমাকে অবশ্যই শেলটি ছেড়ে দিতে হবে এবং আমি যদি একটি মুহুর্তের জন্য ভিমের কাছে ফিরে আসতে চাই তবে একটি নতুন উত্সাহিত করব - খুব দরকারী নয়।

আমি তেজ স্থগিত দ্বারা, বিপরীত প্রান্তে শেল অ্যাক্সেস করতে পারেন ^Zমাধ্যমে তেজ কাজ পরিচালনা bg, fgএবং jobs। এটি আরও বোধ করে তবে দীর্ঘকালীন সময়ে এটি খুব জটিল। Screenএটি উপলভ্য থাকলে আমি এটি ব্যবহার করতে পারি (এটি প্রায়শই হয় না), বা আমার উইন্ডো ম্যানেজারের বেশ কয়েকটি উইন্ডো খুলুন (এবং তাদের প্রতিটি থেকে ক্রমানুসারে হোস্টকে টার্গেট করতে ssh করুন, রিমোট হোস্টে আবার ভিএম এবং শেল উভয়ই থাকতে হবে)

এটি নিকটতম হবে যদি ভিম আমাকে শেল সেশনটি খুলতে এবং এটির (অভ্যন্তরীণ) উইন্ডোগুলির একটিতে বলে, বা আমাকে এটিতে এবং পিছনে যেতে অনুমতি দেয়। এই সম্ভব ভালো কিছু হয়?


1
সুতরাং মূলত, আপনি :splitঅন্যটিতে উইন্ডোটি ধরে রাখার সময় একটিতে একটি শেল খুলতে চান ? ... এটি আমার কাছে tmux বা স্ক্রিনের কাজ বলে মনে হচ্ছে ...
মার্টিন টর্নয়েজ

1
@ কারপেটসমোকার: দূরবর্তী সিস্টেমে যা ইনস্টল করা আছে তার উপরে আমার প্রায়শই নিয়ন্ত্রণ থাকে না, এবং প্রায়শই দু'জনের কোনওটির চেয়ে বেশি নয়, যখন ভিম সর্বদা থাকে।
এসএফ

নিওভিমে স্যুইচ করার বিষয়টি বিবেচনা করুন। এটিতে এখন একটি বিল্ট ইন টার্মিনাল এমুলেটর রয়েছে যা বেশ ভালভাবে কাজ করে এবং একটি ভিএম বাফারে খোলা যেতে পারে।
জাচ

উত্তর:


16

এখানে বেশ কয়েকটি ভিএম প্লাগইন রয়েছে যা এটির জন্য অনুমতি দেয়। আমি ব্যবহার Conque ( গিটহাব )।

এটি আপনার প্লাগিন ডিরেক্টরিতে রাখার পরে আপনাকে যা করতে হবে তা হ'ল:

:ConqueTermSplit bash

এবং আপনার ভিআইএম মধ্যে একটি ইন্টারেক্টিভ বাশ শেল থাকবে। তারপরে আপনি উইন্ডোতে যা কিছু করতে চান তার জন্য নিয়মিত ভিম অঙ্গভঙ্গি ব্যবহার করতে পারেন।

এছাড়াও অন্যান্য প্লাগইনটি ভিমশেল


1
প্লাগিন ছাড়া এ জাতীয় কিছু করার কোনও উপায় নেই?
এসএফ

3
@ এসএফ দেখুন :help shell-window। (সংক্ষিপ্ত উত্তর: না।)
মুর্গু

3

ভিআইএমের সাথে আমি বিশ্বাস করি যে এটি করার জন্য যে প্লাগইনগুলি রয়েছে তা সবকটি দুর্দান্ত নয়, যদিও আইএমও ভিমশেল সবচেয়ে নিকটে আসে। তবে আপনার এটি বুঝতে হবে এটি একটি 2 অংশের সমস্যা।

  1. ভিআইএম এর মতো কাজ করতে সক্ষম হওয়ার জন্য ডিজাইন করা হয়নি, বিশেষত জটিলটি দীর্ঘস্থায়ী কোনও কাজ সম্পাদন করতে সক্ষম হয় এবং ভিআইএমকে অবরুদ্ধ না করে অবিচ্ছিন্নভাবে এর সাথে কথা বলে। এক্ষেত্রে এটি কেবল শেল নিজেই নয়, অন্যান্য কাজও যা আপনি শেল প্রক্রিয়াতে চালিত করতে পারেন।
  2. ভিএম এর মডেল দর্শন আমাদের শেলের সাথে যেভাবে যোগাযোগ করে সেভাবে এটি পুরোপুরি খেলছে না। শেলের মধ্যে কেবলমাত্র বর্তমান লাইনটি সম্পাদনযোগ্য, যদিও আপনি শেল দিয়ে আপনার ইতিহাসের পুরানো পাঠ্যটি সম্পাদনা করতে পারবেন না। এটি মোটামুটি ভিআইএমের দর্শনের সাথে খাপ খায় না, আপনি যদি ESC টিপেন এবং সাধারণ মোডে ফিরে যান তবে উপরের ইতিহাসের অংশগুলি সম্পাদনা করতে এবং ব্যবহারকারীর ফিরে যেতে অস্বীকার করা বেশ শক্ত হয়ে উঠবে।

আমার মতে 2 টি মতামত রয়েছে যা এই শ্রদ্ধায় আরও ভাল কাজ করে।

  1. ভিএম এবং শেল উভয়ই পেতে টিএমইউএক্স / স্ক্রিন এবং মাল্টিপ্লেক্স টার্মিনাল উইন্ডো ব্যবহার করে। এইভাবে দু'টি ঝরঝরেভাবে পৃথক হয়ে গেছে এবং তবুও আপনি উভয়কেই খুব অল্প চেষ্টা করে দেখতে পারেন এবং দু'জন একে অপরের প্রবাহের সাথে দ্বন্দ্ব না করে তাদের সম্ভাবনার সেরা দিকে কাজ করতে পারেন।
  2. টিপোপ / ভিম-প্রেরণের মতো প্লাগইন ব্যবহার করে এবং পছন্দগুলি আপনি সহজেই একটি অফ শেল কমান্ড চালু করতে পারেন এবং এগুলি একটি প্রকৃত টার্মিনাল শেলের পটভূমিতে অ্যাসিঙ্ক্রোনালি চালাতে পারেন এবং ফলাফলগুলি সম্পূর্ণ হয়ে গেলে এটি ভিএম-এ ফিরিয়ে আনতে পারেন। এটি আপনাকে দুজনের মধ্যে একই স্তরের বিচ্ছিন্নতাও সরবরাহ করে এবং তাই দু'জন আবার একে অপরের পায়ের আঙ্গুল না পায়ে তাদের সর্বোত্তম দক্ষতার সাথে কাজ করতে পারে।

আমার যুক্ত করা উচিত যে নিওভিম এই দিকটিতে পরিবর্তন আনতে পারে বলে একটি সম্ভাবনা রয়েছে কারণ এটির একটি মূল লক্ষ্য এককভাবে কাজ সম্পাদন করতে সক্ষম হচ্ছে। তবে ততক্ষণে এটি আমার মতে ভাল।


3

ইন :help shell-windowআমরা একটি উইন্ডোতে শেল কমান্ড নির্বাহ সম্পর্কে পড়তে পারেন:

ভিমের অভ্যন্তরে একটি উইন্ডোতে শেল চালানোর সম্ভাবনা নিয়ে প্রশ্ন রয়েছে questions

উত্তর: আপনি পারবেন না!

এটি সহ ভিমে প্রচুর কোড যুক্ত হবে যা এটি না করার একটি ভাল কারণ। সর্বোপরি, ভিম একটি সম্পাদক , এটি সম্পাদনা-বিহীন কাজ করার কথা নয়। তবে, এর মতো কিছু পেতে, আপনি আপনার টার্মিনাল স্ক্রিনটি বিভক্ত করার চেষ্টা করতে পারেন বা " স্প্লিটটিভিটি " প্রোগ্রামের সাথে উইন্ডো প্রদর্শন করতে পারেন ।

বিকল্পটি হল " উইন্ডো " কমান্ড, বিএসডি ইউনিক্স সিস্টেমে পাওয়া যায় যা একাধিক ওভারল্যাপযুক্ত উইন্ডো সমর্থন করে। বা " স্ক্রীন " প্রোগ্রাম।

তবে কয়েকটি সমাধান রয়েছে যা আপনি ব্যবহার করতে পারেন:

  • ব্যবহার করুন screenযা বিশেষত সেই ধরণের জিনিসগুলির জন্য ডিজাইন করা হয়েছে, যেমন:

    • Ctrl+ a, Sবর্তমান উইন্ডোটি অনুভূমিকভাবে বিভক্ত করতে
    • Ctrl+ + a, Tabজানালা মধ্যে স্যুইচ করার জন্য
    • Ctrl+ a, Xবর্তমান অঞ্চলটি সরাতে
    • Ctrl+ a, Qসমস্ত অঞ্চল বাদে একটি

    আরও দেখুন: স্ট্যাকওভারফ্লো এসই-তে জিএনইউ স্ক্রিন বেঁচে থাকার গাইড

    বা: জিএনইউ স্ক্রিন বিভাজন , আরও তথ্যের জন্য স্ক্রিনের দ্রুত রেফারেন্স

  • ভিআইএম শেল - একটি তৃতীয় পক্ষের প্যাচ

    ভিআইএম-শেলটি ভিআইএম-এর জন্য একটি এক্সটেনশান যা বিভক্ত উইন্ডোগুলিকে বৈশিষ্ট্যযুক্ত এবং এই প্যাচটি those উইন্ডোতে শেলগুলি শুরু করা সম্ভব করে। এটি কেবল পসিক্স সিস্টেমের জন্য উপলব্ধ

  • vterm - ভিএম এর ভিতরে টার্মিনাল এমুলেটর।

    ভিটারেমের লক্ষ্য হ'ল ভিমের অভ্যন্তরে ইউনিক্স টার্মিনালের ক্লোন সরবরাহ করা যা কোনও বাকী নির্ভরতা ছাড়াই বাক্সের বাইরে কাজ করে।

  • Vimux - সহজেই ভিএম থেকে tmux এর সাথে ইন্টারঅ্যাক্ট করুন।

    Tslime.vim দ্বারা অনুপ্রাণিত , একটি প্লাগইন যা আপনাকে tmux এ ইনপুট প্রেরণ করতে দেয়, vimux হ'ল ভিএম অনায়াস থেকে tmux এর সাথে ইন্টারঅ্যাক্ট করা।

  • ইতিমধ্যে উল্লিখিত অন্যান্য: বিজয়ী

সম্পর্কিত: ভিএম এর ভিতরে টার্মিনালটি কীভাবে চালানো যায়? স্ট্যাকওভারফ্লোতে


কীভাবে বিচ্ছেদ থেকে মুক্তি পাবেন ?? : - /
0xc0de

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