এক্স 11 এ টার্মিনাল উইন্ডোর মধ্যে ট্যাবগুলি অনুলিপি করুন এবং আটকান


11

আমি যখন দুটি টার্মিনাল উইন্ডোর মধ্যে এক্স 11 মাউস নির্বাচন ব্যবহার করে পাঠ্যটি অনুলিপি করে আটকান তখন ট্যাবগুলি প্রায়শই হয় তবে সর্বদা নয়, স্থানগুলিতে রূপান্তরিত হয়। এটি জড়িত টার্মিনাল অ্যাপ্লিকেশন এবং তাদের ভিতরে চলমান প্রোগ্রামগুলির উপর নির্ভর করে বলে মনে হয়।

পরীক্ষার মাধ্যমে আমি এটি খুঁজে পেয়েছি:

  • এটি কেবল উত্স (অনুলিপি) দিকে চলছে তা নির্ভর করে। টার্গেটের (পেস্ট) দিকটি যদি উত্স সংরক্ষণ করে তবে তা চলমান কোনও বিষয়ই ট্যাবগুলি আটকে দেবে।
  • কেবল gnome-terminalউত্স সাইডে ট্যাব সংরক্ষণ করে। xtermএবং konsoleনা।
  • ট্যাবগুলি কেবলমাত্র সংরক্ষণ করা হয় যদি ফাইলটি আউটপুট ব্যবহার করে থাকে cat। অন্যান্য অ্যাপ্লিকেশনের যেমন less, vim, emacs, অথবা nanoট্যাব সংরক্ষিত হয় না।

এর ব্যাখ্যা কী? এই বাগ হয় konsoleএবং xtermবা তাদের যেটি ভিন্নভাবে কনফিগার করা যেতে পারে? পারি lessএবং এই ধরনের আউটপুটে ট্যাব সংরক্ষণ করার জন্য কনফিগার করা?

উত্তর:


3

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

আমি এমনকি অস্পষ্টভাবে বছর পূর্বে একটি এক্সটার্ম-রক্ষণাবেক্ষণকারীর প্রতিক্রিয়া মনে করি, দাবি করা যে এটি ঠিক করা খুব কঠিন হবে ...

আমি নিশ্চিত না, কীভাবে gnome-terminal সঠিক জিনিসটি করা হয় তবে আমি আনন্দিত যে তারা এটি করেছে :) আরেকটি বিকল্প হ'ল - gvimএর গ্রাফিকাল সংস্করণ ব্যবহার করুন vim- vimটার্মিনাল অ্যাপ্লিকেশনের অভ্যন্তরে চলার পরিবর্তে - আপনি নিরাপদে জিভিএম থেকে কপি-পেস্ট করতে পারেন ট্যাব না হারিয়ে।


0

এটি কখনও কখনও সমস্যা হতে পারে, বিশেষত যাগুলির সাথে Makefilesট্যাবগুলির প্রয়োজন। দুর্ভাগ্যক্রমে, বিভিন্ন প্রোগ্রামগুলির সমস্যা সম্পর্কিত নয়। প্রত্যেকেরই সম্ভবত খুব আলাদা সমাধান হবে।

ভিমের জন্য আপনাকে অবশ্যই আপনার ফাইলে একটি :set noexpandtabবা স্থান দিতে হবে। আপনি যদি কেবলমাত্র কিছু নির্দিষ্ট ফাইল টাইপ সেট করতে চান তবে আপনি আমার নিজের মধ্যে নিম্নলিখিতটিতে একটি অটোকমন্ড করতে পারেন :set noexpandtab~/.vimrcnoexpandtab~/.vimrc

"indenting defaults: 4 spaces for an indent
set shiftwidth=4
set softtabstop=4
set expandtab

"exceptions to indenting for specific languages and files--------
"for shell scripts: 2 spaces for an indent
autocmd filetype sh setlocal shiftwidth=2
autocmd filetype sh setlocal softtabstop=2

"for Makefiles: use tabs for indents
autocmd filetype make setlocal tabstop=8
autocmd filetype make setlocal noexpandtab

এটি কোনও ট্যাবটির জন্য 4 টি স্পেসের ডিফল্ট সেট করবে vimএবং শেল স্ক্রিপ্ট এবং মেকফিলগুলি ব্যতিক্রম করবে।

অন্যান্য প্রোগ্রামের মতো less, সেখানে ম্যান পেজগুলি দেখার চেষ্টা করুন। আপনার যা প্রয়োজন তার জন্য তাদের কাছে কনফিগারেশন ফাইল, পরিবেশগত ভেরিয়েবল বা কমান্ড লাইন বিকল্প থাকতে পারে। কম লোক পৃষ্ঠাটি দেখছেন:

-xn,... or --tabs=n,...
       Sets tab stops.  If only one n is specified, tab stops  are  set
       at  multiples  of n.  If multiple values separated by commas are
       specified, tab stops are set at those positions, and  then  con-
       tinue  with  the  same  spacing  as  the last two.  For example,
       -x9,17 will set tabs at positions  9,  17,  25,  33,  etc.   The
       default for n is 8.

আপনি যা লক্ষ্য করছেন তা কোনও বাগ নয়। "এটি একটি বৈশিষ্ট্য।" কেবল সমস্যাটি হ'ল এটি কীভাবে বন্ধ করতে হয় তা আপনার জানা দরকার।


2
less -xnএটি কোনও ট্যাব অক্ষরের পরিবর্তে এন স্পেস ব্যবহার করতে কনফিগার করে। -Uএটি হিসাবে ট্যাব প্রদর্শন করে তোলে ^I। এটি একটি আক্ষরিক ট্যাব চরিত্র নির্গত করার কোনও উপায় আমি খুঁজে পাইনি যাতে পাঠ্যটি অনুলিপি করা একটি ট্যাব চরিত্রটি পেস্ট করে, তবে আমি কীভাবে তা জানতে আগ্রহী।
ম্যাট ম্যাকক্লিউর

এটি লক্ষণীয় যে রফের ( troffএবং nroff) তে ট্যাবস্টপগুলি একে অপরের থেকে স্বাধীনভাবে সেট করা যেতে পারে, অনেকটা আধুনিক ওয়ার্ড প্রসেসরের (ওপেনঅফিস, মাইক্রোসফ্ট ওয়ার্ড, ইত্যাদি) "রুলার" টুলবারের মতো। তবে ম্যানপ্যাজগুলি ব্যবহারের ক্ষেত্রে কাস্টম ট্যাব স্টপগুলি খুব কমই ব্যবহার করে।

mandoc(1)ব্যবহারকারীদের কমান্ড-লাইন থেকে ডিফল্ট ইনডেন্টেশন প্রস্থকে ওভাররাইড করতে দেয় -O indent=N(ডিফল্ট ৫ কলামে)।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.