বাশ এবং এক্স 11 এর মধ্যে ক্লিপবোর্ডটি ভাগ করুন


12

ইন এই থ্রেড শীর্ষ উত্তর দেখায় কিভাবে, টেক্সট যা পূর্বে একটি জিনোম-টার্মিন্যালে মাউস দিয়ে নির্বাচিত করা হয়েছে অনুলিপি করতে ব্যবহারে X11 মধ্যে ক্লিপবোর্ডে।

আমার প্রশ্নটি হ'ল বলুন আমি বাশ সেট-চিহ্ন ব্যবহার করে টার্মিনাল থেকে টুকরো টুকরো অনুলিপি করে কীবোর্ড শর্টকাটগুলি (যেমন set-mark+ M-w) অনুলিপি করছি । এই ক্লিপবোর্ডটি কি এক্স 11 এর সাথে ভাগ করা সম্ভব?

সম্পাদনা : মূল প্রশ্নে, আমি জিনোমের সাথে ক্লিপবোর্ড ভাগ করে নেওয়ার কথা বলেছিলাম, কিন্তু গিলস নীচে উল্লেখ করেছেন যে, জিনোমের বিশেষভাবে একটি ক্লিপবোর্ড নেই (এটি এক্স থেকে সাধারণ), তাই আমি প্রশ্নটি আপডেট করেছি।


জিনোম-টার্মিনালে, আপনি সিস্টেম ক্লিপবোর্ডে অনুলিপি করতে এবং পেস্ট করতে Ctrl + Shift + C এবং Ctrl + Shift + V টাইপ করতে পারেন।
মিথ্যা রায়ান

2
এই পোস্টটি দেখুন stackoverflow.com/questions/994563/… তবে এটি আমার পক্ষে কাজ করছে না।
দুর্দান্ত প্রশ্ন

উত্তর:


10

বাশের ক্লিপবোর্ড ব্যাশের অভ্যন্তরীণ, বাশ এক্স সার্ভারের সাথে সংযুক্ত হয় না।

আপনি যা করতে পারেন তা হল M-wবাশের অভ্যন্তরীণ ক্লিপবোর্ড ছাড়াও এক্স ক্লিপবোর্ডে নির্বাচনটি অনুলিপি করার অর্থ পরিবর্তন করা । তবে বাশের সংহতকরণটি বেশ আলগা এবং আমি মনে করি না যে ব্যাশ কোড থেকে অঞ্চল সম্পর্কিত তথ্য বা ক্লিপবোর্ড অ্যাক্সেস করার কোনও উপায় আছে। এক্স ক্লিপবোর্ডে পুরো লাইনটি অনুলিপি করতে আপনি একটি মূল বাঁধাই করতে পারেন ²

if [[ -n $DISPLAY ]]; then
  copy_line_to_x_clipboard () {
    printf %s "$READLINE_LINE" | xsel -ib
  }
  bind -x '"\eW": copy_line_to_x_clipboard'
fi

আপনি যদি শেলটিতে অভিনব জিনিস করতে চান, zsh এ স্যুইচ করুন, যা (অন্যান্য সুবিধার মধ্যে) লাইন সম্পাদক এবং স্ক্রিপ্টিং ভাষার মধ্যে আরও ভাল সংহতকরণ রয়েছে।

if [[ -n $DISPLAY ]]; then
  x-copy-region-as-kill () {
    zle copy-region-as-kill
    print -rn -- "$CUTBUFFER" | xsel -ib
  }
  x-kill-region () {
    zle kill-region
    print -rn -- "$CUTBUFFER" | xsel -ib
  }
  zle -N x-copy-region-as-kill
  zle -N x-kill-region
  bindkey '\C-w' x-kill-region
  bindkey '\ew' x-copy-region-as-kill
fi

¹ , Gnome বিশেষত ক্লিপবোর্ড নেই, এই এক্স সাধারণ হয়
² এর কী দিয়ে আবদ্ধ সিকোয়েন্স: ব্যাশ 4.1 এর হিসাবে, সেখানে কী পার্সিং কোডে একটি বাগ সংশোধন করা হয় bind -xদীর্ঘ চেয়ে বেশি দুটি অক্ষর নাও হতে পারে। আমি মনে করি বাশ ৪.২ লম্বা উপসর্গের কিছুগুলি সমাধান করে তবে সেগুলি সবগুলিই নয়; আমি বিশদটি গবেষণা করিনি।


আইডির জন্য ধন্যবাদ গিলস! আমি মনে করি এটি শিখতে এবং স্যুইচ করার সময় এসেছে zsh
অ্যামিলিও ওয়াজকেজ-রেইনা

অবশেষে! একটি গুচ্ছ ধন্যবাদ! এটি copy_line_to_x_clipboardহ'ল আমি খুব দীর্ঘ সময়ের জন্য অনুপস্থিত ছিল: শিফট + সন্নিবেশের সমতুল্য অনুলিপি। আমি সিটিআরএল-এক্স ( bind -x '"\C-x") এ পরিবর্তিত হয়েছি কারণ Escআমার স্বাদ থেকে খুব বেশি দূরে (এবং সিসিটি সম্ভবত সবচেয়ে পছন্দমত পছন্দ)।
pbarill

টার্মিনালগুলিতে সাধারণত একটি মেটা কী থাকে যা ডিফল্টরূপে Alt কীতে আবদ্ধ থাকে। একটি অক্ষর ধরে রাখার সময় টাইপ করা সেই অক্ষরটির পরে অনুবাদ করা escহয়, যাতে আপনি এটি টাইপ করতে পারেন alt-w
DoMiNeLa10

7

@ গিলস ইতিমধ্যে একটি দুর্দান্ত উত্তর দিয়েছেন। আমি কেবল অস্তিত্বের কথা উল্লেখ করতে চাই xclip, এটি এক্স ক্লিপবোর্ডে টার্মিনাল আউটপুট অনুলিপি করার জন্য খুব দরকারী উপায়, এটিতে কেবল পাইপ দিয়ে:

$ cat /etc/passwd | xclip

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