මගේ වර්තමාන සැකසුම අවකාශ 8 ක් උපකල්පනය කරයි; මම එය නැවත අර්ථ දැක්විය හැක්කේ කෙසේද?
මගේ වර්තමාන සැකසුම අවකාශ 8 ක් උපකල්පනය කරයි; මම එය නැවත අර්ථ දැක්විය හැක්කේ කෙසේද?
Answers:
එය ඔබ අදහස් කරන දේ මත රඳා පවතී. ඔබට ඔබේ ගොනුව සැබෑ ටැබ් චරිත අවශ්යද පෙනී අවකාශයන් 4 පුරා, හෝ "ටැබ්" විසින් ඔබ අදහස් ඇත්තටම නැහැ එබුම ගොනුව ප්රතිපලය වනු ඇති ටැබ් යතුර එබීමෙන් විසින් ජනනය, වචනාර්ථයෙන් ඉඩක් චරිත 4 (දක්වා) අඩංගු ඔබ ටයිප් කරන සෑම "ටැබ්" එකක්ම?
ඔබගේ පිළිතුර මත පදනම්ව, පහත සඳහන් සැකසුම් කට්ටලවලින් එකක් ඔබ වෙනුවෙන් වැඩ කළ යුතුය:
අවකාශ 4 ක් පළල පෙනෙන ටැබ් අක්ෂර සඳහා :
set tabstop=4
ඔබ ඔබේ ප්රභව කේතයේ සත්ය ටැබ් අක්ෂර භාවිතා කරන්නේ නම් ඔබට මෙම සැකසුම් ද අවශ්ය වනු ඇත (මේවා ඇත්ත වශයෙන්ම පෙරනිමි වේ, නමුත් ඔබට ඒවා ආරක්ෂිතව සැකසීමට අවශ්ය විය හැකිය):
set softtabstop=0 noexpandtab
අවසාන වශයෙන්, ඔබට තනි ටැබ් එකකට අනුරූප වන පරිදි ඉන්ඩෙන්ට් එකක් අවශ්ය නම්, ඔබ ද මෙය භාවිතා කළ යුතුය:
set shiftwidth=4
අවකාශ අක්ෂර 4 කින් සමන්විත නමුත් ටැබ් යතුර සමඟ ඇතුළත් කර ඇති ඉන්ඩෙන්ට් සඳහා:
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
ඉහත සැකසුම් ස්ථිර කිරීමට මෙම රේඛා ඔබේ vimrc වෙත එක් කරන්න .
ඔබට ගැලපීම් කිරීමට අවශ්ය නම්, හෝ මෙම විකල්ප සියල්ලේ තේරුම තේරුම් ගැනීමට කැමති නම්, මෙන්න එක් එක් විකල්පයේ තේරුම බිඳ වැටීමකි:
tabstop
දෘ space ටැබ්ස්ටොප් එකක පළල “අවකාශ” වලින් මනිනු ලැබේ - සත්ය ටැබ් අක්ෂරයක (උපරිම) පළල effectively ලදායී වේ.
shiftwidth
"ඉන්ඩෙන්ට්" එකක ප්රමාණය. එය අවකාශයන්හි ද මනිනු ලැබේ, එබැවින් ඔබේ කේත පදනම ටැබ් අක්ෂර සමඟ ඉන්ඩෙන්ට් කරන්නේ නම් ඔබට
shiftwidth
ටැබ් අක්ෂර වාර ගණන සමාන කිරීමට අවශ්ය වේtabstop
. මෙය=
,>
සහ<
විධාන වැනි දේද භාවිතා කරයි.
softtabstop
මෙය ශුන්ය නොවන අගයකට සැකසීම
tabstop
ටැබ් යතුර (ඇතුළු කිරීමේ ප්රකාරයේදී) මෙම පළලෙහි ටැබ් නැවතුම් අනුකරණය කිරීම සඳහා අවකාශයන්ගේ එකතුවක් (සහ සමහර විට ටැබ්) ඇතුළත් කරයි .
expandtab
මෙය සක්රිය කිරීමෙන් ටැබ් යතුර (ඇතුළු කිරීමේ ප්රකාරයේදී) ටැබ් අක්ෂර වෙනුවට අවකාශය ඇතුළත් වේ. මෙය
retab
විධානයේ හැසිරීමට ද බලපායි .
smarttab
මෙය සක්රීය කිරීමෙන් ටැබ් යතුර (ඇතුළු කිරීමේ ප්රකාරයේදී) කර්සරය පේළියක ආරම්භයේ ඇති විට ඊළඟ ටැබ්ස්ටොප් එකේ ඊළඟ ඉන්ඩෙන්ට් වෙත යාමට අවකාශ හෝ ටැබ් ඇතුල් කරයි (එනම් එකම පෙර අක්ෂර සුදු අවකාශයයි).
මේවායින් වැඩි විස්තර සඳහා vim (උදා ) බලන්න: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
ඉන්පසු පහත වින්යාසය ගොනුවට අලවන්න. Vim නැවත ආරම්භ කළ පසු, ටැබ් සැකසුම් අදාළ වේ.
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
එය සෑම ටැබ් එකකටම අවකාශ 4 ක් සහ F9සැකසුම් ටොගල් කිරීමට සිතියම් ගත කිරීම සක්රීය කරයි .
මම මෙය මගේ .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 ගොනුවේ දමන්න - සමහර මාර්ගෝපදේශ සහ හොඳම භාවිතයන් සඳහා පහත බලන්න.
Vim හි ටැබ් භාවිතා කිරීමට ප්රධාන ක්රම හතරක් ඇත:
සෑම විටම 'ටැබ්ස්ටොප්' 8 හි තබා, 'සොෆ්ට් ටැබ්ස්ටොප්' සහ 'මාරුව පළල' 4 ලෙස සකසන්න (හෝ 3 හෝ ඔබ කැමති ඕනෑම දෙයක්) සහ 'නොක්ස්පෑන්ඩ්ටාබ්' භාවිතා කරන්න. එවිට Vim ටැබ් සහ අවකාශයන්ගේ මිශ්රණයක් භාවිතා කරනු ඇත, නමුත් ටයිප් කිරීම සහ සෑම අක්ෂර 4 (හෝ 3) ටැබ් එකක් දිස්වන ආකාරයට හැසිරෙනු ඇත.
සටහන: 8 ට වඩා වෙනත් ඕනෑම අගයකට 'ටැබ්ස්ටොප්' සැකසීම මඟින් ඔබේ ගොනුව බොහෝ ස්ථානවල වැරදි ලෙස පෙනෙනු ඇත (උදා: එය මුද්රණය කරන විට).
ඔබ කැමති ඕනෑම දෙයකට 'ටැබ්ස්ටොප්' සහ 'මාරුව පළල' සකසා 'විස්තාරණ ටැබ්' භාවිතා කරන්න. මේ ආකාරයෙන් ඔබ සැමවිටම අවකාශ ඇතුල් කරනු ඇත. 'ටැබ්ස්ටොප්' වෙනස් කළ විට ආකෘතිකරණය කිසි විටෙකත් අවුල් නොවේ.
ඔබ කැමති ඕනෑම දෙයකට 'ටැබ්ස්ටොප්' සහ 'මාරුව පළල' සකසා | මොඩලීන් | භාවිතා කරන්න ගොනුව නැවත සංස්කරණය කිරීමේදී මෙම අගයන් සැකසීමට. ගොනුව සංස්කරණය කිරීමට Vim භාවිතා කරන විට පමණක් ක්රියාත්මක වේ.
සෑම විටම 'ටැබ්ස්ටොප්' සහ 'මාරුව පළල' එකම අගයට සකසන්න, සහ 'නොක්ස්පෑන්ඩ්ටාබ්'. මෙය පසුව මිනිසුන් භාවිතා කරන ඕනෑම ටැබ්ස්ටොප් සැකසුම සඳහා (ආරම්භක ඉන්ඩෙන්ට් සඳහා පමණි) ක්රියා කළ යුතුය. ඔබ මෙය කළත් පළමු හිස් නොවන අවකාශයන් ලෙස ටැබ් තිබීම සතුටක් විය හැකිය. 'ටැබ්ස්ටොප්' හුවමාරු වන විට නොබැඳි අදහස් වැරදිය.
මූලාශ්රය:
:help tabstop
:help tabstop
vim වෙතින් වාචික බව ඔබ සටහන් කළ යුතුය .
තවත් එක් දෙයක්, භාවිතා
:retab
පවතින බවට පරිවර්තනය කිරීමට tab
කිරීමට spaces
http://vim.wikia.com/wiki/Converting_tabs_to_spaces
මාර්ගය එකතු
set ts=4
දී
~/.vimrc
පරිශීලකයෙකුට සඳහා ගොනු
හෝ
/etc/vimrc
පද්ධතිය පුළුල් කිරීම සඳහා ගොනුව
:set sw=4
මගේ මූලික ~ / .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
? මට මතක නැත, එයට වෛර කරන්න)