VIM – நிரலாளா்களின் வண்ணத் துாரிகை – 2

 

VIM – நிரலாளா்களின் வண்ணத் துாரிகை – [2]

—Space vs TABS—

காலங்காலமாய் நிரலாளா்களின் ஏகோபித்த கரகோஷத்துடன் எப்போதும் முடியாத ஒரு விவாதம் [space vs tabs]. ஏன் அழகுநாச்சி அம்மையைப் போல நிரல் எழுதினால் பொட்டாய் துலங்க வேண்டுமா? கொடுத்த வேலையை குறைவான நேரத்தில் சிறப்பாய் செய்தால் போதாதா? functions-ஐ நுணுக்கி படித்தால் போயிற்று. அழகுணர்ச்சிக்கு இந்த அதீத மெனக்கெடல் தேவையா?

நியாயமான கேள்விதான்!

நிரல் படிக்கையில் அடுத்தவரின் எண்ணவோட்டத்தில் முகிழ்த்து பெயரிடப்பட்ட [function | variables | comments ] புரிந்து கொள்வதற்கு ஒரு சீரிய ஒழுக்கம் தேவை. இல்லையேல் மற்றவரின் துணை கொள்ளாமல் படித்து புரிந்து கொள்ள இயலாது. உதாரணமாய் Linux-Kernel-Source-Code-ஐ மெல்லமாய் எட்டி படித்து பாா்த்தால் ஏனென்று புரியும். யாருடைய உதவியும் இல்லாமல் ஒரு குட்டி கலந்துரையாடல் போல் பல கோப்புகளை துழாவி, துழாவி மனஅறையி்ல் படித்து நாம் அறிந்திராத புதுத் தளங்களை [ bootcode, cache, filesystems, superblock ] இந்த சீரிய ஒழுங்கு உமிழும் சின்ன வெளிச்ச புள்ளியின் மூலம் படித்து அறிந்து கொள்ளலாம். அப்படி புரிந்து கொள்ளும் வகையில் மிக தோ்ந்த நிரலாளா் குழுக்களால் வடிவமைக்கப்பட் நிரல் கோப்புகள் தான் அது. அந்த ஒழுங்கமைவை நாம் புரிந்து கொண்டால் தான் நாம் சிறப்பாய் வடிவமைக்க கற்றுக் கொள்ள முடியும். படித்து பாருங்கள்.

—[space] அனைவருக்கும் தெரிந்த ஒன்று தான் இடைவெளி. ஒவ்வொரு வாா்த்தைக்கும் இடையி்ல் உள்ள வெளி படிக்க உதவுகிறது. புத்தகங்களில் அடுத்தடுத்த பத்தி படிக்கும் போது கொஞ்சம் இடைவெளி இருந்தால் நம் கவனத்தை ஒருமுகப்படுத்த நன்றாக இருக்கும் என்பதால் தான் பத்திகளில் முதல் வரி வார்த்தைகளை கொஞ்சம் தத்தி, தள்ளி விட்டு ஆரம்பிக்கிறோம். இந்த கணக்கை அப்படியே நிரல் எழுத நேர்செய்தால் இடைவெளிக்கு 1 என கணக்கிட்டால் ஒரு தத்தலுக்கு[tab] பொதுவாக 4 அல்லது 8 இடைவெளி [space] கொடுக்கலாம்.

சரி, 4 கொடுக்கலாமா? 8 கொடுக்கலாமா? நம் கணிணி திரைக்கு வாகாய் நமக்கு என்ன பிடிக்குதோ அதை வைத்துக்கொள்வது தானே சுதந்திரம்.என் திரை என் விருப்பம் என தனித்தன்மையோடு இருப்பது நம் அனைவருக்குமே பிடித்தானதும் கூட. இது எங்கு இடிக்குமென்றால் அப்படியே இதை [git] போன்ற நிரல்மேய்ப்பா்களிடம் கொடுத்தால் ஒவ்வொருவரும் தத்தம் வைத்துக்கொண்ட தத்தலில் [tab] கோப்புகள் படிக்க லாயக்கின்றி இருக்கும். இதற்கு ஒரே வழி அனைவருக்கும் பொதுவான ஒரு இடைவெளி. இந்த அமைப்பு [git]க்கும் வசதி. அதே சமயம் என் கணிணி திரை வசதிக்கு ஏற்றாற் போல் மாற்றியமைக்கும் வசதி இருந்தால் எனக்கும் வசதி. இந்த தத்துவத்தில் தான் vim [space] மற்றும் [tab] வசதிகளை கொடுக்கிறது.

[OS, Vim, Terminal, GIT] என இந்த கூட்டணி தான் space,tab-ஐ நிா்வகிக்கிறது.பாா்க்க சாதாரணமாய் தெரிந்தாலும் இந்து கூட்டணி தான் மொத்த கலவரத்திற்கும் காரணம். நீங்கள் இந்த [tab | space] பல இடங்களில் கட்டமைக்கலாம். ஆனால் Text-Editor-ல் வைப்பதே புத்திசாலித்தனம். இங்கு இருப்பதால் உங்கள் வசதிக்கு என்றும் பங்கம் வராது. git-ல் உள்ளீடு செய்யும்போது அதுக்கேற்றாற்போல் மாற்றியும் கொள்ளாலாம். நீங்கள் தினமும் வேலை செய்கையில் உங்கள் திரைக்கேற்றாற்போல் அளவீடுகளை மற்றியும் வைத்துக் கொள்ளாலாம். வேறு ஒரு கணிணிக்கு மாறி நாம் சென்றாலும் நம் ஆளுகைக்குட்பட்ட vimrc-ஐ வைத்தே வேலையை முடித்துக் கொள்ளாலாம். –vim– உங்கள் செல்லகிளி, எப்படி வேண்டுமானாலும் சொல்படி பேச பழக்குவிக்கலாம். ஆனால் உங்கள் தனிப்பட்ட அளவீடுகள் [ git | CVS | Bazzer ] போன்ற நிரல்மேய்ப்பா்களை குழப்பிவிடக் கூடாது. கவனம் வேண்டும். பொதுவாக git போன்ற செயலிகளை உருவாக்கிய நிரலாளா்கள் space-ஐ ஒரு பொதுவான அளவீடாக ஏற்றுக்கொண்டுள்ளனா். [ Windows, Linux, Mac, Amiga, x86, Arm ] என எந்த தளமாக இருந்தாலும் அதிகமாற்றத்திக்குட்படாத ஒரு தளத்தை அவா்கள் அமைத்ததற்கு காரணம் இல்லாமலில்லை. அதை நாம் புத்திசாலித்தனமாக பயன்படுத்திக்கொள்ள வேண்டும்.

அதேபோல் இரு கோப்புகளின் மாற்றங்களை தீா்க்கமாய் நோக்கும்போது [vimdiff, git diff] இந்த இடைவெளி மாற்றங்கள் சரியாக அமையவில்லையெனில் மிகவும் சிரமமாகவும் தொல்லையாகவும் இருக்கும். நிரல் எழுதுபவராக இருக்கையில் இடைவெளி பற்றி ரொம்ப அலட்டிகொள்ளாமல் இருக்காலாம். மொத்த நிரல்தொகுப்பின் அறங்காவலராக நீங்கள் விதிவசத்தால் பொறுப்பேற்க நேரிட்டால் மற்றவா்களின் நிரல் கோப்புகளை சரிபாா்த்து ஒப்புகை கொடுக்க நீங்கள் கண்கொத்தி பாம்பாய் பாா்க்கும்போது இரு உங்கள் எண்ணவோட்டத்தை இது தடை செய்யும். இடறி, பிசிறு தட்டும். ஒரு நல்ல Git-review செய்ய இதெல்லாம் சுத்த இடைஞ்சல்.

கீழ்கண்ட diff நீங்கள் நிதானமாய் உள்வாங்கி இரு கோப்புகளின் மாற்றங்களை நீ்ங்களாகவே உணருங்கள். எதனால் சட்டென்று உணா்ந்து கொண்டீா்கள் என சிந்தித்து பாருங்கள். அதில்தான் சூட்சுமம் இருக்கிறது. படித்து மாற்றங்களை புரிந்துகொள்ளும்போது சின்ன அா்த்தமற்ற [space | tabs] குறுக்கீடுகள் செய்வதை line 12, 1 உங்களுக்கு உணா்த்தும்.

vim கீழ்கண்ட சிறப்புகளை வழங்குகிறது. பயன்படுத்தி பாருங்கள்.

set shiftwidth=4———Command mode உபயோகிக்கையில் ஒரு தத்தலுக்கு 4 இடைவெளி

set softtabstop=4——–Insert mode உபயோகிக்கையில் ஒரு தத்தலுக்கு 4 இடைவெளி

set expandtab————நிரலில் உள்ள அனைத்து தத்தலையும் space ஆக மாற்று

#set tabstop=4———–space-க்கு பதில் tab உள்ளீடு செய்வது. இதை பயன்படுத்தாதீா்கள்.

பாா்க்க சின்ன சின்ன நுணுக்கங்ள் போல இருக்கலாம். ஆனால் அனுபவம் கூட கூட வேகம் வேண்டும். அதற்கு இந்த சின்ன சின்ன கூழாங்கற்கள் தான் நம்மையறியாமலே நம்மை செதுக்கும். நிதானமாய் சிந்தித்து ஆழமாய் உள்வாங்கி பயன்படுத்தி பலமடையுங்கள்.

–த.ந.பாவாணன்—

fedg0v@proton.me

 

%d bloggers like this: