সম্পূর্ণরূপে সমস্ত অটো-ইন্ডেন্টেশন অক্ষম করুন


18

আমি ইমাসে সমস্ত অটো-ইন্ডেন্টেশন কীভাবে সম্পূর্ণ অক্ষম করব? কমপক্ষে ফান্ডামেন্টাল মোডের জন্য আমার এটি অক্ষম করা দরকার, তবে বর্তমান অধিবেশনে এটি বিশ্বব্যাপী অক্ষম হওয়ায় আমি ঠিক আছি।

এই নকলটি ঘোষণার আগে এই প্রশ্নটির বাকী অংশটি পড়ুন। অন্য যে সমস্ত উত্তর আমি পেয়েছি সেগুলি হ'ল ইনডেন্টেশনটি আরও বেশি লক্ষ্যবস্তু অক্ষম করার জন্য। আমি পুরো সেশনের জন্য সমস্ত অটো-ইন্ডেন্টেশন সত্যিই অক্ষম করতে চাই।

সেট electric-layout-modeকরার nilকাজ হয় না।

বিস্তারিত

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

আমি জিএনইউ ইম্যাক্স ব্যবহার করছি 24.3.1।

কার্যসংক্রান্ত

আমার বর্তমান কাজটি হ'ল আমার উইন্ডোজ টেক্সট ফাইলটিকে আমার লিনাক্স হোস্টের মাউন্ট করা একটি ফাইল সিস্টেমে স্থানান্তর করা, ফাইলটি ইম্যাকসে লোড করা, তারপর কন্টেন্ট এবং ইয়াঙ্ক ব্যবহার করে সামগ্রী স্থানান্তর করা। এটি কিছুটা আড়ষ্ট।

উদাহরণ

এখানে পাঠ্যের একটি ব্লক উদাহরণ রয়েছে:

a

  - b
    c
    d

এমএসউইন পেস্টের মাধ্যমে আমি এটি ইম্যাক্স-আন্ডার-এসএস-এ পেস্ট করলে এটি কীভাবে উপস্থিত হয় তা এখানে:

a

  - b
      c
          d

আমি যদি C-h lপেস্টটি করার পরে টিপুন তবে আমি যা দেখছি তা এখানে। মনে রাখবেন যে নতুনলাইনগুলি ইনপুট ব্যবহার করছে C-j, না RET

a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l

ইনডেন্ট সম্পর্কিত কিছু ভেরিয়েবল যেমন বাফার-লোকাল, সেখানে মেজর-মোড হুকের পরে চলমান কিছু থাকা দরকার - উদাহরণস্বরূপ, সম্ভবত [?] hack-local-variables-hook- মূলত তাদের পূর্বাবস্থায় ফিরে যেতে অন্যান্য বড়-মোডগুলির অংশ হিসাবে কী সেট করা হয়েছে? স্ট্যান্ডার্ড আরম্ভ। fundamental-modeভিতরে কেবল সামান্য ফাংশন simple.el- যেমন (kill-all-local-variables) (run-mode-hooks),। M-x find-function RET fundamental-mode RET- আপনি নিজের প্রয়োজন অনুসারে সংশোধন / তৈরি করতে পারবেন; তবে, আপনি যদি নামটি পরিবর্তন করেন তবে এটি কিছু ফাংশন দ্বারা ব্যবহৃত হবে না - সুতরাং একই নামটি রাখার বিষয়টি বিবেচনা করুন।
আইনজীবি


ইমাকের কি ভিএম এর সমতুল্য থাকে :set paste? এটি মূলত বলেছে "কোনওভাবেই আটকানো পাঠ্যটি স্পর্শ করবেন না"। যার মধ্যে অটো-ইন্ডেন্টেশনও অন্তর্ভুক্ত রয়েছে।
ওমায়ের মাজিদ

উত্তর:


21

ইমাস ≤24.3

আরইটি টিপলে ডিফল্টরূপে ইনডেন্ট হয় না (কিছু প্রোগ্রামিং মোড ব্যতীত, আপনাকে মোড-নির্দিষ্ট কনফিগারেশন যেমন "বৈদ্যুতিন" সেটিংস পরীক্ষা করতে হবে)।

ক্লিপবোর্ডের বিষয়বস্তুগুলিতে একটি নতুন লাইন থাকে (লাইন ফিডের অক্ষর দ্বারা প্রতিনিধিত্ব করা হয়) যখন ইউনিক্স টার্মিনালগুলি সাধারণত ক্যারিজ রিটার্ন অক্ষর পেস্ট করে। এ গিয়ে Emacs সালে মত একটি গাড়ি ফেরত সৌন্দর্য RETকী (আসলে, RET হয় , যখন এর মত একটি লাইন ফিড সৌন্দর্য (হয়) গাড়ি ফেরত চরিত্র) C-j

যাইহোক, আপনার ক্ষেত্রে, একটিতে নতুন লাইনের ফলাফল আটকানো C-j, যা ইমাসে কমান্ডের সাথে আবদ্ধ newline-and-indent। নামটি ইঙ্গিত করে, এই আদেশটি অন্তর্ভুক্ত করে। আমি জানি না যে পিটিটিওয়াইয়ের কোনও সেটিংস রয়েছে যাতে আপনি পরিবর্তন করতে পারেন। আপনি Emacs প্রান্তে সমস্যাটি সমাধানের জন্য চান, একটি সহজ কার্যসংক্রান্ত যা আমি মনে করি আপনি কিছু মনে করবে না আছে: বেঁধে C-jকরার newline(হিসাবে একই RET)।

(global-set-key "\C-j" 'newline)

ইমাস ≥24.4

ইমাস 24.4 এ, বৈদ্যুতিন ইনডেন্ট মোডটি ডিফল্টরূপে স্যুইচ করা থাকে। এটি একটি গ্লোবাল মাইনর মোড, সুতরাং আপনি কল করে এটিকে যে কোনও জায়গায় বন্ধ (electric-indent-mode 0)করতে পারেন এবং আপনি এটির সাথে ইন্টারঅ্যাকটিভভাবে টগল করতে পারেন M-x electric-indent-mode RET

আপনি এই তথ্যটি ম্যানুয়ালটিতে সন্ধান করতে পারেন, বা কমান্ডের ডকুমেন্টেশনটি Return(চাপুন C-h k RET) টিপে টিপুন ।

আপনি এটি দিয়ে একটি নির্দিষ্ট বাফারে চালু করতে পারেন electric-indent-local-mode। কিছু প্রোগ্রামিং মোড (বিশেষত তৃতীয় পক্ষের) এর নিজস্ব স্বয়ংক্রিয় ইন্ডেন্টেশন বৈশিষ্ট্য থাকতে পারে যা বৈদ্যুতিন ইনডেন্ট মোডের সেটিংস অনুসরণ করে না।


electric-indent-modeডিফল্টরূপে অক্ষম করা হয়েছে (আপনি যা বলেছেন তার সাথে এটি সামঞ্জস্যপূর্ণ কারণ আমি ইমাস 24.3.1 ব্যবহার করছি)। এটি চালু এবং বন্ধ টগলিংয়ে কোনও লাভ হয় না। electric-indent-local-modeআমার মাধ্যমে উপলব্ধ হয় না M-x। এ সহায়তার RETতিনটি সেটিংস উল্লেখ: use-hard-newlines, auto-fill-function, এবং fill-column। টগল করা বা মাধ্যমে ঐ পরিবর্তন M-x use-hard-lines, M-x auto-fill-modeএবং M-x set-fill-column RET 0 RETসাহায্যের না।
মিঃ ফুজ

@ মিঃফুজ ওহ, দুঃখিত, আমি আপনার প্রশ্নে ইমাস সংস্করণে মনোযোগ দিই নি। তবে আমি ভাবছি আপনি কেন স্বয়ংক্রিয়ভাবে ইন্ডেন্টেশন পাচ্ছেন। হুম। আপনি কি সাথে স্বয়ংক্রিয় ইন্ডেন্টেশন পান emacs -q? দয়া করে ইম্যাক্সে একটি নিউলাইন ( fooনিউলাইন বলুন bar) সম্বলিত কিছু সংক্ষিপ্ত পাঠ্য আটকান এবং টিপুন C-h l, আপনি কি দেখছেন? … f o o RET b a rবা … f o o C-j b a rবা … f o o RET C-j barঅন্য কিছু? আপনি কোন টার্মিনালে এসএসএইচ ক্লায়েন্ট চালাবেন?
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

আমি মূল পোস্টে টেক্সট ব্লার্বের উদাহরণ যুক্ত করেছি। যোগ করা -qসাহায্য করে না (উদাঃ emacs -q -nw --no-desktop)। আমি C-jপরিবর্তে দেখতে RET। আমি আমার এসএসএইচ ক্লায়েন্ট হিসাবে পিটিটি 0.63 ব্যবহার করছি। আমি TERMসেট screenএবং এর সাথে একই আচরণ দেখছি xterm
মিঃ ফুজ

@ এমআরফুজ ওকে, যেহেতু পুটিওয়াই সিআর-এর পরিবর্তে এলএফ পাঠাচ্ছে, তাই আপনাকে ইমাসকে এলএফ-তে ইনডেন্ট না করার নির্দেশনা দিতে হবে। বিশ্বব্যাপী এটি বন্ধ করা সহজ, আমি আমার উত্তরটি সম্পাদনা করেছি।
গিলস 'অশুভ হওয়া বন্ধ করুন'

ধন্যবাদ, global-set-keyহ্যাক সমস্যা সমাধান করেছে। EDITORগিট কমিট বার্তাগুলি সম্পাদনা করার সময় আমি আমার পূর্বস্বত্ত্ব সেটআপ করার একটি উপায় বের করব automatically ক্যারেজের রিটার্নের পরিবর্তে নিউলাইনগুলি আটকানো হচ্ছে কারণ আমি আমার প্রিয় উইন্ডোজ পাঠ্য সম্পাদককে উইন্ডোজগুলির পরিবর্তে ইউনিক্স-স্টাইল লাইনের শেষ ব্যবহার করতে কনফিগার করেছি।
মিঃ ফুজ

1

আপনি বন্ধনীযুক্ত পেস্ট মোড চেষ্টা করতে পারেন। এটি আপনার টার্মিনাল এমুলেটরটির একটি বৈশিষ্ট্য (এই ক্ষেত্রে পটিটিওয়াই, সংস্করণ 0.63 এবং তার বেশি) যা ব্যবহারকারীর কিছু আটকানো হচ্ছে এবং সিদ্ধ করার পরে এস্কেপ সিকোয়েন্স ব্যবহার করে এবং আবার পেস্ট শেষ হয়ে গেলে। এখানে একটি ইমাস প্যাকেজ রয়েছে যার নাম bracketed-pasteআপনি ইনস্টল করতে পারেন, এটি ইমাককে পলায়নের ক্রমগুলি সনাক্ত করতে এবং পেস্টের সময়কালের জন্য নিরাপদ কীম্যাপে স্থানান্তর করতে সক্ষম করে। এটি কেবল ইন্ডেন্টেশনকে বিশৃঙ্খলা থেকে আটকাতে পারে তা নয়, এটি আপনার ইমাস সেশনে কমান্ড চলমান থেকে একটি দুর্বৃত্ত পেস্টকে বাধা দেয় M-x

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