কীভাবে দীর্ঘ কমান্ডগুলি দ্রুত নেভিগেট করবেন?


136

লিনাক্স সিএলআই নেভিগেশন যখন আমার দীর্ঘ কমান্ডগুলি প্রবেশ করতে হবে তখন কি কোনও গতি আছে? আমি এখনই তীরচিহ্নগুলি সহজেই ব্যবহার করি এবং - যদি আমার একটি দীর্ঘ কমান্ড থাকে তবে কমান্ডটি শুরু হতে এর মাঝখানে যেতে কিছুটা সময় লাগে।

উদাহরণস্বরূপ তীর ব্যবহার না করে কমান্ডের মাঝখানে লাফানোর কোনও উপায় আছে?

উত্তর:


174

রিডলাইন গ্রন্থাগার দ্বারা সরবরাহিত কিছু দরকারী লাইন সম্পাদনা কী বাইন্ডিংগুলি :

  • Ctrl-A: লাইনের শুরুতে যান
  • Ctrl-E: লাইনের শেষে যান
  • Alt-B: একটি শব্দ পিছনে এড়িয়ে যান
  • Alt-F: একটি শব্দ এগিয়ে যান
  • Ctrl-U: লাইনের শুরুতে মুছুন
  • Ctrl-K: লাইনের শেষে মুছুন
  • Alt-D: শব্দের শেষে মুছুন

7
+1 কারণ এটি এমনকি যখন কিছু কারণে সিটিআরএল-তীরগুলি কাজ করে না তখনও কাজ করে। লক্ষণীয়, screenব্যবহারকারীদের জন্য , Ctrl-A Ctrl-A এ পরিণত হয়
enzotib

3
মুছে
ফেলাটি

7
Ctrl + ডান তীর, Ctrl + বাম তীর উল্লেখযোগ্য।
ম্যাক

3
উবুন্টুতে জিনোম এবং জিনোমেটার্মিনাল ব্যবহার Alt-Aকরে কার্সারটি সরানোর পরিবর্তে মেনুটি খোলে। Alt-Aজিনোমের সাথে আপনি কীভাবে ব্যবহার করবেন ? আমার অর্থ, জিনোম ডিফল্ট, সুতরাং সম্ভবত এটি পড়ার যে কেউ জিনোমে একটি টার্মিনাল চালাচ্ছে।
জেসন

1
আপনি যদি এসএসএইচ দিয়ে ওএস এক্স থেকে উবুন্টুতে সংযোগ স্থাপন করছেন তবে আপনাকে সিটিআরএল, Esc-A, Esc-E এর পরিবর্তে "Esc" ব্যবহার করতে হবে। এটি আইটার্ম এবং টার্মিনালের ক্ষেত্রে সত্য।
ফ্রেড ক্লাউসেন

77

এখান থেকে আরও কিছু শর্টকাট

Ctrl + a  go to the start of the command line
Ctrl + e  go to the end of the command line
Ctrl + k  delete from cursor to the end of the command line
Ctrl + u  delete from cursor to the start of the command line
Ctrl + w  delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y  paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx  move between start of command line and current cursor position (and back again)
Alt + b  move backward one word (or go to start of word the cursor is currently on)
Alt + f  move forward one word (or go to end of word the cursor is currently on)
Alt + d  delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c  capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u  make uppercase from cursor to end of word
Alt + l  make lowercase from cursor to end of word
Alt + t  swap current word with previous
Ctrl + f  move forward one character
Ctrl + b  move backward one character
Ctrl + d  delete character under the cursor
Ctrl + h  delete character before the cursor
Ctrl + t  swap character under cursor with the previous one

এই সরল, চিট-চ্যাট-কম তালিকার জন্য আপনাকে ধন্যবাদ।
neverMind9

14

আপনি যদি কোনও vi [m] এবং বাশ ব্যবহারকারী set editing-mode viহন তবে আপনার ~/.inputrcবা /etc/inputrcফাইলগুলিতে যুক্ত করে পাঠ্যলাইন (ব্যাশ দ্বারা ব্যবহৃত) ভি-স্টাইল সম্পাদনা ব্যবহার করা আপনার পক্ষে দরকারী । বা, আপনি কেবল ব্যাশ ব্যবহার করে ভিআই-স্টাইল সম্পাদনা করতে পারবেন ব্যাশ কমান্ড চালিয়ে set -o vi~/.bashrcআচরণটি অবিরাম করতে আপনার ফাইলটিতে কমান্ড যুক্ত করুন ।

আপনি যদি zsh ব্যবহারকারী হন তবে ভিআই-স্টাইল সম্পাদনার জন্য bindkey -vআপনার .zshrcফাইলে যুক্ত করুন ।


8

কার্সার কীগুলি ব্যবহার না করে মাঝখানে বিশেষভাবে ঝাঁপিয়ে পড়ার কোনও উপায় আমি জানি না। তবে ফাঁকা থেকে ফাঁকা হয়ে যাওয়ার জন্য আমি সিটিআরএল + কার্সার কী ব্যবহার করার পরামর্শ দিতে পারি (অর্থাত, একটি শব্দ থেকে অন্য শব্দে লাফিয়ে তোলা)।


1

আপনার .bashrc- এর নীচে কোড-স্নিপেট উত্স করুন। Ctrl-a শুরুতে লাফ দেয় এবং Ctrl-a টিপে আবার মাঝখানে ঝাঁপ দেয়।

jump_mid() {
    if [ "$READLINE_POINT" -eq "0" ]; then
        LEN=${#READLINE_LINE}
        POS=$(($LEN / 2))
        READLINE_POINT=$POS
    else
        READLINE_POINT=0
    fi
}
bind -x '"\C-a" : jump_mid'

অথবা আপনি যদি সরাসরি মাঝের দিকে ঝাঁপিয়ে পড়তে Ctrl- কিছু ব্যবহার করতে চান তবে কোডটি এতে পরিবর্তন করুন:

jump_mid() {
    LEN=${#READLINE_LINE}
    POS=$(($LEN / 2))
    READLINE_POINT=$POS
}

এবং এটি Ctrl-a এর চেয়ে আলাদা কিছুতে আবদ্ধ করুন।

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