ইমাস জাভাস্ক্রিপ্ট মোডে ইনডেন্টেশন প্রস্থ কীভাবে পরিবর্তন করবেন


120

আমি আমার ইনডেন্টগুলির জন্য 4 এর পরিবর্তে 2 স্পেস ব্যবহার করতে চাই using আমি সি মোডের ডিফল্ট আচরণটি ব্যবহার করে এটি পরিবর্তন করতে পারি:

(setq c-basic-offset 2)

আমি এটি জাভাস্ক্রিপ্ট মোডে কীভাবে পরিবর্তন করব?

উত্তর:


198

js-indent-level ডিফল্ট জাভাস্ক্রিপ্ট-মোডে ব্যবহার করা যেতে পারে, যা ইম্যাক্স ২৩.২ থেকে শুরু করে ডিফল্টরূপে অন্তর্ভুক্ত।

(setq js-indent-level 2)

আপনি যা খুঁজছেন তা করা উচিত। আপনি যদি ইমাসের একটি পুরানো সংস্করণ ব্যবহার করছেন তবে আপনি জাভা-মোডে থাকতে পারেন। আমি মনে করি এই মোডটি প্রতিক্রিয়া জানায় c-basic-offset, তবে আমি ভুল হতে পারি।


2
(setq ডিফল্ট-ট্যাব-প্রস্থ 2) জাভা-মোডের জন্য সংশ্লিষ্ট ট্যাব প্রস্থ সেটর হবে
ফারজি

এই প্রক্রিয়াটি ব্যবহার করে ট্যাবের প্রস্থটি 8 এ থাকে এবং তাই ইনডেন্ট স্তরটি 4 (2x4 = 8) বা তার বেশি হলে ট্যাবগুলি কেবলমাত্র ব্যবহৃত হবে। আপনি কীভাবে ট্যাব প্রস্থটি 2 বা 4 এ সেট করবেন যাতে স্থানগুলির পরিবর্তে ট্যাব ব্যবহার করা যায়? আমি অনেকগুলি সেটিংস চেষ্টা করেছি, উদাহরণস্বরূপ (setq ট্যাব-প্রস্থ 4) তবে কোনও ফলস্বরূপ হয়নি। আমার লক্ষ্য: ট্যাব প্রস্থ 4 ব্যবহার করুন এবং কেবল ট্যাব অক্ষর ব্যবহার করুন (বিকল্প হিসাবে ফাঁকা স্থান নয়)।
jdp

jdp: চেষ্টা করুন (defun my-javascript-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'javascript-mode-hook 'my-javascript-mode-hook)
ফিল্ডস

ব্যবহার করুন js-mode-hook, এর মতো:(defun my-js-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'js-mode-hook 'my-js-mode-hook)
স্কেলটোয়াক

6
এই কোথাও নথিভুক্ত করা হয়? স্ট্যাকওভারফ্লো ছাড়া এই তথ্যটি খুঁজে পাওয়ার কোনও উপায় ছিল? আমি M-x hজেএস-মোড থেকে দেখলাম , কিন্তু সেখানে কিছুই পাইনি।
চার্লস হলব্রো

75

আমি আশা করি কেউ আমাকে কাস্টম সম্পর্কে খুব তাড়াতাড়ি জানিয়েছে! সম্ভবত এটি আমার মতো আরও নিছক নশ্বরকে সহায়তা করবে;)

কাস্টম আহবান করুন:

M-x customize

তারপরে, "প্রোগ্রামিং" এবং তারপরে "ভাষাগুলি" চয়ন করুন এবং তারপরে কাস্টমাইজ করার জন্য একটি ভাষা / মোড নির্বাচন করুন। আপনি উপযুক্ত দেখতে বিকল্পগুলি সম্পাদনা করুন। হয়ে গেলে, "বর্তমান সেশনের জন্য সংরক্ষণ করুন" বা "ভবিষ্যতের সেশনের জন্য সংরক্ষণ করুন" নির্বাচন করুন।


17

আপনি যদি js2- মোড ব্যবহার করেন (যা আরও শক্তিশালী IMHO), তবে আদেশটি হ'ল:

(setq-default js2-basic-offset 2)

উৎস.


11

আপনি ট্যাবগুলির পরিবর্তে স্থানগুলি ব্যবহার করতে ইম্যাকস সেট করতে চাইতে পারেন

(setq-default indent-tabs-mode nil)

এটি আরও একটি মন্তব্য তারপর বাস্তব উত্তর। মন্তব্য করতে সক্ষম হতে আরও খ্যাতি অর্জন করুন।
jcubic

2

আমার জাভাস্ক্রিপ্ট.এল ফাইলটিতে (/ usr / share / emacs / site-lisp) আমি খুঁজে পেয়েছি

জাভাস্ক্রিপ্ট-ইনডেন্ট-স্তর 4

সুতরাং আপনি যদি একই লিস্প-মোড ব্যবহার করে থাকেন তবে আপনি এটি চালিয়ে পরিবর্তন করতে পারেন

(setq javascript-indent-level 2)

2

আপনি ব্যবহার করতে পারেন

M-x customize-variable

এবং টাইপ

js-indent-level

( js-[ট্যাব] বিকল্পগুলির একটি তালিকা দেখায়)। তারপরে Js Indent Levelযেমনটি চেয়েছিলেন তেমন পরিবর্তন করুন এবং ক্লিক করুন [State:]এবং সংরক্ষণ করুন।



2

আপনি যদি প্রতি ফাইলের ভিত্তিতে এটি পরিবর্তন করতে চান তবে এটি আপনার ফাইলের শীর্ষে রাখুন:

// -*- mode: js; js-indent-level: 2; -*-

0

ইমাক্স 26-তে আপগ্রেড করার পরে এই সমাধানগুলির কোনওটিই আমার পক্ষে কাজ করেনি (আমি ইতিমধ্যে js-indent-level2 এ সেট করেছিলাম তবে আমার ট্যাব প্রস্থটি 8 এ চলে গেছে), তবে কী কাজটি tab-widthভেরিয়েবলটি সেট করেছিল 2যা পুরানো default-tab-widthভেরিয়েবলটি প্রতিস্থাপন করে বলে মনে হচ্ছে ।

আমি এটি M-x customizeঅনুসন্ধান করে খুঁজে পেয়েছি tab width

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