একটি লম্বা কমান্ড লাইনে কার্সারটিকে সরাসরি `<keyword>> এ সরান


2

আমি প্রায়ই একটি দীর্ঘ কম্যান্ড-লাইন, যেখানে এটি ব্যাথা মাধ্যমে মাঝখানে একটা নির্দিষ্ট অবস্থান নেভিগেট করতে হতে পারে মধ্যে নিজেকে খুঁজে Left-Arrow, Right-Arrow, Alt+ + B, Alt+ + Fইত্যাদি

আমি জানি যে ব্যবহার করে tmux, আমি <keyword>একটি অনুসন্ধানের মাধ্যমে কোনও বিশেষে যেতে পারি । যেহেতু এটি একটি খুব সাধারণ ক্রিয়াকলাপ, তাই সমসাময়িক টার্মিনালগুলিতে কি একইরকম কিছু প্রয়োগ করা হয় gnome-terminal?

বোনাস: ম্যাকোসের আইটির্মের জন্যও উত্তর পেয়ে ভাল লাগবে।


আপনি ঠিক কী পরে যাচ্ছেন তা নয়, তবে বাশ আপনাকে পছন্দসই পাঠ্য সম্পাদকের ($ এডিটর বা IS ভিজুয়াল ভেরিয়েবলের সাথে সেট) বর্তমান কমান্ড লাইন সম্পাদনা করতে Ctrl-X Ctrl-E টিপতে অনুমতি দেয়। অন্য কয়েকটি শেলের একই বৈশিষ্ট্য রয়েছে।
ক্যাস

1
আপনি কি শেল কমান্ড লাইনটি সম্পাদনা করছেন, বা আপনি কিছু আউটপুট সন্ধান করছেন যা দ্বারা স্ক্রোল করা আছে?
গিলস

set editing-mode viআপনার ~/.inputrc(বা কেবল এটি set -o viপরীক্ষা করতে টাইপ করুন ) এবং viআপনার কমান্ড লাইনে নেভিগেশন উপভোগ করুন: এসকি দিয়ে ইনপুট মোডটি ছেড়ে যান এবং কমান্ডগুলি ব্যবহার করুন column২ 42|কলামে যেতে বা f;পরবর্তী সেমিকোলনে যেতে এবং আরও ...
ফিলিপোস

@ গিলস - আমি শেল কমান্ড লাইনটি সম্পাদনা করছি।
শুযেং

@ ফিলিপোস - ভাল, এটি কোন টার্মিনালের সাথে প্রযোজ্য? আমি .inputrc আসলে কী এর জন্য আগ্রহী নয় - আপনি কি বিস্তারিত বলবেন? কেবল নিশ্চিত হওয়া, এটি টার্মিনাল যা ভিআই নেভিগেশন বহন করে, তাই না? এটি খোল নয়।
শুযেং

উত্তর:


2

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

প্রধান অনুসন্ধান কমান্ডগুলি হ'ল Ctrl+ Sএবং Ctrl+R , যা যথাক্রমে এগিয়ে এবং পিছনে অনুসন্ধান করে। এগুলি ইনক্রিমেন্টাল অনুসন্ধানগুলি: Ctrl+ Sবা Ctrl+ চাপ দেওয়ার পরে Rআপনি যে পাঠ্যটি অনুসন্ধান করতে চান তা টাইপ করুন এবং আপনি এখন পর্যন্ত কী টাইপ করেছেন তার পরবর্তী / পূর্ববর্তী উপস্থিতিতে আপনাকে আনা হবে।

এমন কোনও কী টিপুন যা কোনও অক্ষর doesn'tোকায় না এবং এটি Backspaceঅনুসন্ধান মোডটি শেষ করে না । মনে রাখবেন কীটি এর স্বাভাবিক প্রভাব ফেলবে, বিশেষত Enterতত্ক্ষণাত কমান্ডটি চালায়। Left/ Rightসাধারণত সাধারণত সবচেয়ে সুবিধাজনক উপায়।

আপনি যদি অনুসন্ধানটি বাতিল করতে চান তবে Ctrl+ টিপুন Gএবং আপনি যে কমান্ডটি সম্পাদনা করছেন তাতে ফিরে আসবেন। এই কমান্ডগুলি শেল কমান্ড ইতিহাসের পাশাপাশি বর্তমান কমান্ড লাইনের সন্ধান করে। যদি আপনি দুর্ঘটনাক্রমে কোনও পূর্ববর্তী কমান্ড লাইনে চলে যান, Ctrl+ Gআপনি মূলত যা টাইপ করেছেন তা আপনাকে ফিরিয়ে দেয়।

বাশের কাছে অনুসন্ধান মোডে প্রবেশ না করেই একটি একক অক্ষর অনুসন্ধান করার আদেশ রয়েছে : Ctrl+ ]এগিয়ে, Ctrl+ Alt+ ]বা Alt+ - Ctrl+ ]পিছনে।

Zsh এর অনুরূপ কমান্ড রয়েছে (এবং আরও বেশ কয়েকটি)। কোনও একক অক্ষরকে দ্রুত অনুসন্ধান করার জন্য এটির আদেশগুলি ডিফল্টরূপে কোনও সুবিধাজনক কী ( Ctrl+ X Ctrl+ Fফরোয়ার্ড এবং কোনও পিছনে নেই) সীমাবদ্ধ নয় যদি না আপনি vi মোডে থাকেন তবে আপনি তাদের সাথে একটি কী বাঁধতে পারেন bindkey


শেলটি কার্সারটি কীভাবে সরিয়ে ফেলতে পারে? শেলটি এমন একটি অ্যাপ্লিকেশন যা ইনপুট পায়, যখনই ব্যবহারকারী একটি কমান্ড-লাইনে প্রবেশ করে এবং ENTER টিপায়? এটি টার্মিনাল যা I / O পরিবেশের জন্য দায়ী যেটি আমরা জিনোম টার্মিনালের মধ্যে কমান্ডগুলি প্রবেশ করি? এইভাবে আমি আপনার পোস্টটি বুঝতে পারি। TTYs।
শুজেং

@ শুঝেং শেলটি টার্মিনালটিকে একটি পালানোর অনুক্রম প্রেরণ করে। টার্মিনালটি কার্সারটি সরিয়ে নেওয়ার নির্দেশ হিসাবে সেই নির্দিষ্ট পালানোর ক্রমটিকে ব্যাখ্যা করে। সমস্ত আধুনিক শেলগুলি একটি মোডে টার্মিনালটি ব্যবহার করে যেখানে তারা কেবল একটি সম্পূর্ণ রেখার পরে নয় প্রতিটি অক্ষরে ইনপুট গ্রহণ করে।
গিলস

1
ওহ, সুতরাং শেলটি আসলে টার্মিনালের সাথে যোগাযোগ করতে পারে, কেবল এটি কমান্ড আউটপুট প্রেরণ করে না? আপনি যখন পালানোর ক্রমগুলি উল্লেখ করেন, সেগুলি রঙিন আউটপুট জন্যও ব্যবহৃত হয় (আমি এর আগে দেখেছি)। এই ক্ষেত্রে, এস্কেপ সিকোয়েন্সটি টার্মিনালটিকে "কার্সারটিকে পজিশনে এক্সে স্থানান্তরিত করে" "পরিবর্তে" এই আউটপুটটিকে লাল রঙ করবে "বলবে? শেলটি টার্মিনালটি চালিত করে, টার্মিনালটি চালু করার পরে / dev / tty (টার্মিনাল নিয়ন্ত্রণ করে) বা stty?
শুজেং

কোনও কারণে একটি একক অক্ষর অনুসন্ধান করার আদেশগুলি আমার বাশের পক্ষে কাজ করে না। এছাড়াও, সিটিআরএল + আর টিপুন এবং আমি যে পাঠ্যটি সন্ধান করতে চাইছি (বলুন, ফুবার) প্রবেশ করার পরে, কেন আমি অনুসন্ধানের জন্য কিছু নতুন পাঠ্য প্রবেশের জন্য উল্লিখিত পাঠ্যটিকে মুছতে পারি না? অনুসন্ধান মোডে সমস্ত ফুবার মুছে ফেলার পরে, অনুসন্ধান ব্যর্থ হয়?
শুজং

@ শুঝেং আপনি অনুসন্ধান মোডে ব্যাকস্পেস ব্যবহার করতে পারেন। আপনি যদি সমস্ত অক্ষর মুছে ফেলেন তবে আপনি এখনও অনুসন্ধান মোডে রয়েছেন। অনুসন্ধান মোড থেকে প্রস্থান করতে Ctrl + G টিপুন।
গিলস

2

বাশ দিয়ে আপনি আপনার প্রিয় সম্পাদকের কমান্ডটি সম্পাদনা করতে edit-and-execute-command( Ctrl+ x, Ctrl+ e) ব্যবহার করতে পারেন :

   edit-and-execute-command (C-x C-e)
          Invoke  an editor on the current command line, and execute the result as shell commands.  
          Bash attempts to invoke $VISUAL, $EDITOR, and emacs as the editor, in that order.

কোনও নির্দিষ্ট স্থানে কীভাবে স্থানান্তর করা যায় তা নির্ভর করে আপনার সম্পাদকের উপর। আপনি যদি ভিএম ব্যবহার করে থাকেন তবে আপনি ভিম-ইজমোশন প্লাগইন ব্যবহার করে সঠিক শব্দের সাথে কার্সারটি স্থাপন করতে পারেন ।

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