আমার বর্তমান সেটিংটি 8 টি স্পেস ধরে; আমি কিভাবে এটি নতুন সংজ্ঞা দিতে পারি?
আমার বর্তমান সেটিংটি 8 টি স্পেস ধরে; আমি কিভাবে এটি নতুন সংজ্ঞা দিতে পারি?
উত্তর:
এটি আপনার অর্থের উপর নির্ভর করে। আপনি কি চান যে আপনার ফাইলটিতে প্রকৃত ট্যাব অক্ষরগুলি 4 স্পেস প্রশস্ত আকারে প্রদর্শিত হোক বা "ট্যাব" দ্বারা আপনি কী আসলে একটি ইনডেন্ট বলতে চাইছেন , ট্যাব কী টিপে টি উত্পন্ন হয়, যার ফলে ফাইলটি আক্ষরিক অর্থে 4 অবধি অক্ষর যুক্ত করতে পারে প্রতিটি "ট্যাব" আপনি টাইপ করেন?
আপনার উত্তরের উপর নির্ভর করে, নীচের কয়েকটি সেটিংস আপনার জন্য কাজ করা উচিত:
ট্যাব অক্ষরের জন্য যা 4-স্পেস-প্রশস্ত প্রশস্ত প্রদর্শিত হয় :
set tabstop=4
আপনি যদি আপনার উত্স কোডটিতে প্রকৃত ট্যাব চরিত্রটি ব্যবহার করেন তবে আপনি সম্ভবত এই সেটিংসও চান (এগুলি আসলে ডিফল্ট, তবে আপনি এগুলি ডিফেন্সিয়ালি সেট করতে চাইতে পারেন):
set softtabstop=0 noexpandtab
অবশেষে, আপনি যদি কোনও একক ট্যাবের সাথে অনুরোধ করতে কোনও ইন্ডেন্ট চান তবে আপনার এটিও ব্যবহার করা উচিত:
set shiftwidth=4
ইনডেন্টগুলির জন্য যা 4 টি স্পেস অক্ষর নিয়ে গঠিত তবে ট্যাব কী দিয়ে প্রবেশ করা হয়েছে:
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
উপরের সেটিংস স্থায়ী করতে আপনার লিমিটেডগুলিতে এই লাইনগুলি যুক্ত করুন ।
আপনার যদি সামঞ্জস্যতা করা দরকার হয় বা এই বিকল্পগুলির অর্থ কী তা বোঝার জন্য কেবল এখানে বুঝতে চান, প্রতিটি বিকল্পের অর্থ কী তা এখানে একটি বিচ্ছেদ:
tabstop"স্পেসে" পরিমাপ করা শক্ত ট্যাবস্টপের প্রস্থ - কার্যকরভাবে প্রকৃত ট্যাব অক্ষরের (সর্বাধিক) প্রস্থ।
shiftwidthএকটি "ইনডেন্ট" এর আকার। এটি স্পেসেও পরিমাপ করা হয়, তাই যদি আপনার কোড বেসটি ট্যাব অক্ষরের সাথে সূচক হয় তবে আপনি
shiftwidthট্যাব অক্ষরের বারের সংখ্যার সমান করতে চানtabstop। এটাও ভালো জিনিস দ্বারা ব্যবহৃত হয়=,>এবং<কমান্ড।
softtabstopএটিকে শূন্য-ব্যতীত অন্য মান নির্ধারণের ফলে এই প্রস্থে ট্যাব স্টপগুলি অনুকরণ
tabstopকরার জন্য ট্যাব কী (সন্নিবেশ মোডে) ফাঁকা স্থান (এবং সম্ভবত ট্যাবগুলি) সন্নিবেশ করানো হবে ।
expandtabএটি সক্ষম করা ট্যাব অক্ষরের পরিবর্তে ট্যাব কী (সন্নিবেশ মোডে) সন্নিবেশ স্পেস তৈরি করবে। এটি
retabকমান্ডের আচরণকেও প্রভাবিত করে ।
smarttabএটি সক্ষম করার ফলে কার্সারটি যখন একটি লাইনের শুরুতে থাকে (যেমন কেবল পূর্ববর্তী অক্ষরগুলি শ্বেত স্পেস হয়) তখন ট্যাব কী (সন্নিবেশ মোডে) সন্নিবেশ স্পেস বা পরবর্তী ট্যাবস্টপের পরবর্তী ইনডেন্টে যেতে ট্যাবগুলি তৈরি করে।
এগুলির যে কোনও সম্পর্কে আরও তথ্যের জন্য ভিএম এ দেখুন (যেমন ):help 'optionname':help 'tabstop'
~/.vimrcব্যবহারকারীর ভিম সেটিংস। বেশিরভাগ লোকেরা সিস্টেম সেটিংসটি একা ফেলে কেবল ব্যবহারকারী সেটিংস সম্পাদনা করে। নোট করুন যে ~/.vimrcআপনি এটি বেশিরভাগ সিস্টেমে তৈরি না করা অবধি বিদ্যমান থাকবে না।
set softtabstop=4বৈশিষ্ট্যটি নোট করুন ! আমি আপনার কোডটি lessবা অন্য কোনও সম্পাদক সহ কেবলমাত্র vimভ্যাকি ইনডেন্টিংটি পড়ার চেষ্টা করে ক্লান্ত হয়ে পড়েছি কারণ আপনি ট্যাবটিকে কিছুটা স্বেচ্ছাসেবী সংখ্যার জন্য পুনরায় সংজ্ঞায়িত করেছেন (যদিও বাকী সিস্টেমটি অন্যথায় মনে করে)! :-)
tabstop=8ইনডেন্টগুলির জন্য কেন ব্যবহার করতে বলছে আমাকে বুঝতে সাহায্য করতে পারে ? বিভিন্ন সেটিংসের বিবরণ পড়ার পরে আমি কারণটি পাইনি। অন্য উত্তরটি ব্যবহার করতে বলে যা আমার কাছে কিছুটা বেশি জ্ঞান অর্জন করে। tabstop=4
tabstopবিকল্পটি হার্ড ট্যাব অক্ষরের প্রস্থ নিয়ন্ত্রণ করে। আপনি যদি চান যে আপনার ইনডেন্টগুলি 4-প্রশস্ত একটি একক ট্যাব অক্ষরের পরিবর্তে 4 টি স্থানের অক্ষর ধারণ করে, তবে আপনার ট্যাব অক্ষরের প্রস্থের কোনও বিষয় নেই - সাজানো । অনুশীলনে, আপনি সম্ভবত চান যে আপনার ট্যাব অক্ষরের প্রস্থটি আপনার ইনডেন্টগুলির প্রস্থের চেয়ে পৃথক হোক , যাতে সঠিক ইনডেন্ট হিসাবে অভিহিত ট্যাব অক্ষরের সম্ভাবনা হ্রাস পায়। ( list+ expandtabএখানেও সহায়তা করতে পারে) এছাড়াও, 8-চার-প্রশস্ত ট্যাবগুলি হ'ল "স্ট্যান্ডার্ড" - আপনার টার্মিনাল, পাইথন এবং অন্যান্য অনেক সরঞ্জাম 8-চর-প্রশস্ত-ট্যাবগুলিতে ডিফল্ট।
বর্তমান ব্যবহারকারীর স্থায়ী ভিত্তিতে এটি সংজ্ঞায়িত করতে .vimrcফাইলটি তৈরি করুন (বা সম্পাদনা করুন) :
$ vim ~/.vimrc
তারপরে, নীচে কনফিগারেশনটি ফাইলটিতে আটকান। একবার ভিএম পুনরায় চালু হয়ে গেলে ট্যাব সেটিংস প্রয়োগ হবে।
set tabstop=4 " The width of a TAB is set to 4.
" Still it is a \t. It is just that
" Vim will interpret it to be having
" a width of 4.
set shiftwidth=4 " Indents will have a width of 4
set softtabstop=4 " Sets the number of columns for a TAB
set expandtab " Expand TABs to spaces
:retabরূপান্তর করতে বিদ্যমান tabকরার spaces। vim.wikia.com/wiki/Converting_tabs_to_spaces
কিছু সেটিংস রয়েছে যা স্পেস বা ট্যাব ব্যবহার করবে কিনা তা নির্ধারণ করে।
সুতরাং এখানে আপনার সুবিধাযুক্ত ফাংশন যা আপনার ~/.vimrcফাইলে সংজ্ঞায়িত করা যেতে পারে :
function! UseTabs()
set tabstop=4 " Size of a hard tabstop (ts).
set shiftwidth=4 " Size of an indentation (sw).
set noexpandtab " Always uses tabs instead of space characters (noet).
set autoindent " Copy indent from current line when starting a new line (ai).
endfunction
function! UseSpaces()
set tabstop=2 " Size of a hard tabstop (ts).
set shiftwidth=2 " Size of an indentation (sw).
set expandtab " Always uses spaces instead of tab characters (et).
set softtabstop=0 " Number of spaces a <Tab> counts for. When 0, featuer is off (sts).
set autoindent " Copy indent from current line when starting a new line.
set smarttab " Inserts blanks on a <Tab> key (as per sw, ts and sts).
endfunction
ব্যবহার:
:call UseTabs()
:call UseSpaces()
ফাইল এক্সটেনশন প্রতি এটি ব্যবহার করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে (এতে যোগ করা হয়েছে .vimrc):
au! BufWrite,FileWritePre *.module,*.install call UseSpaces()
আরও দেখুন: ট্যাবগুলিকে স্পেসে রূপান্তর করা ।
এখানে উইকিয়ার আরও একটি স্নিপেট রয়েছে যা ট্যাব এবং স্পেসগুলির মধ্যে টগল করতে ব্যবহৃত হতে পারে :
" virtual tabstops using spaces
set shiftwidth=4
set softtabstop=4
set expandtab
" allow toggling between local and default mode
function TabToggle()
if &expandtab
set shiftwidth=8
set softtabstop=0
set noexpandtab
else
set shiftwidth=4
set softtabstop=4
set expandtab
endif
endfunction
nmap <F9> mz:execute TabToggle()<CR>'z
F9সেটিংস টগল করার জন্য এটি প্রতিটি ট্যাবের জন্য 4 টি স্পেস এবং একটি ম্যাপিং ব্যবহার করে সক্ষম করে ।
আমি এটি আমার .vimrc ফাইলে অনুলিপি করে আটকালাম:
" size of a hard tabstop
set tabstop=4
" always uses spaces instead of tab characters
set expandtab
" size of an "indent"
set shiftwidth=4
প্রথম 2 সেটিংসের অর্থ হ'ল আমি যখন ট্যাব টিপব তখন আমি 4 টি স্পেস পাই। তৃতীয় সেটিংটির অর্থ হ'ল আমি যখন V>(অর্থাত্ ভিজ্যুয়াল এবং ইনডেন্ট) করি তখন আমি 4 টি স্পেসও পাই।
গৃহীত উত্তরের মতো বিস্তৃত নয় তবে এটি এমন লোকদের সহায়তা করতে পারে যারা কেবল কিছু অনুলিপি এবং পেস্ট করতে চান।
আপনার পছন্দসই সেটিংসটি ~ / .vimrc ফাইলে রাখুন - কিছু গাইডলাইন এবং সেরা অনুশীলনের জন্য নীচে দেখুন।
ভিমে ট্যাব ব্যবহারের চারটি প্রধান উপায় রয়েছে:
সর্বদা 8-এ 'ট্যাবস্টপ' রাখুন, 'সফটটাবস্টপ' এবং 'শিফটউইথ' 4 এ সেট করুন (বা 3 বা আপনি যা পছন্দ করেন) এবং 'নেক্সপ্যান্ডটব' ব্যবহার করুন। তারপরে ভিম ট্যাব এবং স্পেসগুলির মিশ্রণ ব্যবহার করবে, তবে টাইপিং করবে এবং প্রতি 4 (বা 3) অক্ষর প্রদর্শিত একটি ট্যাবের মতো আচরণ করবে।
দ্রষ্টব্য: 8 এর চেয়ে অন্য যে কোনও মানতে 'ট্যাবস্টপ' সেট করা আপনার ফাইলকে অনেক জায়গায় ভুল হিসাবে দেখাতে পারে (যেমন, এটি মুদ্রণের সময়)।
আপনি যা পছন্দ করেন তার জন্য 'ট্যাবস্টপ' এবং 'শিফটউইথ' সেট করুন এবং 'এক্সপ্রেডট্যাব' ব্যবহার করুন। এইভাবে আপনি সর্বদা স্থান সন্নিবেশ করান। 'ট্যাবস্টপ' পরিবর্তন করা গেলে ফর্ম্যাটটি কখনই গোলযোগ হবে না।
আপনি যা পছন্দ করেন তার জন্য 'ট্যাবস্টপ' এবং 'শিফটউইথ' সেট করুন এবং একটি মডেলিন | ব্যবহার করুন ফাইলটি আবার সম্পাদনা করার সময় এই মানগুলি সেট করতে। শুধুমাত্র ফাইল সম্পাদনা করতে ভিম ব্যবহার করার সময় কাজ করে।
সর্বদা 'ট্যাবস্টপ' এবং 'শিফটউইথ' একই মান এবং 'নেক্সপ্যান্ডট্যাব' তে সেট করুন। এর পরে লোকেরা যে কোনও ট্যাবস্টপ সেটিংয়ের জন্য (কেবলমাত্র প্রাথমিক সূচকগুলির জন্য) কাজ করা উচিত। আপনি যদি এটি করেন তবে প্রথম শূন্যস্থান শূন্যস্থান হিসাবে সন্নিবেশ করার পরে ট্যাবগুলি রাখা ভাল লাগবে। অন্যথায় 'ট্যাবস্টপ' পরিবর্তিত হলে প্রান্তিক মন্তব্যগুলি ভুল হবে।
সূত্র:
:help tabstop:help tabstopvim এ ভারব্যাটিম ।
আরও একটি জিনিস, ব্যবহার
:retab
বিদ্যমান রূপান্তর করতে tabকরতেspaces
http://vim.wikia.com/wiki/Converting_tabs_to_spaces
:set sw=4
দেখুন ষষ্ঠ সম্পাদক নিয়ন্ত্রণ
লাইন যোগ করুন
set ts=4
মধ্যে
~/.vimrcব্যবহারকারী প্রতি ফাইল
বা
/etc/vimrcসিস্টেম জুড়ে জন্য ফাইল
মন্তব্য সহ আমার বেসিক। / .Vimrc:
set number " show line number
set tabstop=2 " set display width of tab; 1 tab = x space with
set expandtab " transform tab to x space (x is tabstop)
set autoindent " auto indent; new line with number of space at the beginning same as previous
set shiftwidth=2 " number of space append to lines when type >>
সমস্ত ব্যবহারকারীর জন্য স্থায়ী (যখন আপনি সার্ভারে একা থাকবেন):
# echo "set tabstop=4" >> /etc/vim/vimrc
apt-get purge nano mcআপনার সময় সাশ্রয় করার জন্য সাধারণত নতুন সার্ভারে এবং অন্য সবগুলিতে। অন্যথায় আপনি সম্পাদক পুনরায় সংজ্ঞায়িত করবে git, crontabইত্যাদি
F10না nanoতবে আমি সবসময় সেভ দিয়ে কিছু কৌশল করি (সম্ভবত F10এটি একটি সমাধান)। বা এটি কাজ করে না screen? আমি মনে করতে পারি না, কেবল এটি ঘৃণা করুন)