32 – පාඨ ගොණු සංස්කරණය (Text File Editing) (5 කොටස)

vi(m) editor පිලිබඳ ලියැවෙන මෙම අවසාන පාඩමෙන් නිතර අවශ්‍ය නොවන නමුත් ඉතා වැදගත් වන vi commands කිහිපයක් ඉගෙන ගනිමු.

පේළි සම්බන්ධ කිරීම (Joining lines)

vi(m) editor තුළදී අපට කිසියම් පේළියක අගට cursor ගෙනගොස් Delete key ඔබා ඊළඟ පේළිය හා සම්බන්ධ කිරීම කල නොහැකිය. මෙහිදී පේළි සම්බන්ධ කිරීමට විශේෂ වශයෙන් J (join) command යොදාගනී. ඒ සඳහා join කිරීමට අවශ්‍ය පේළි දෙකෙන් මුල් පේළියට cursor ගෙනයාමෙන් පසු J (capital) යතුර ඔබන්න.

before
join (j) command

වචන සෙවීම සහ ආදේශනය (search and replace)

කිසියම් ගොණුවක අපට අවශ්‍ය වචනය/අකුර වෙත cursor ගෙනයාමට vi හි වචන සෙවීමේ (search) පහසුකම යොදාගත හැකිය. පේළියක ඇති කිසියම් අකුරක් වෙත cursor ගෙනයාමට f (find) command සමග අවශ්‍ය අකුර ලබාදෙන්න. ; (semi-colon) මගින් ඊට ගැළපෙන අකුර ඇති ඊළඟ ස්ථානයට යා හැකිය.

find-char
find character

අප පෙර ලිපියකින් සාකච්චා කල less command හි යොදාගන්නා ආකාරයටම vi(m) තුළ වචන සෙවීමට (forward slash) යොදාගැනීමට පිළිවන. මෙහිදී සමග අවශ්‍ය වචනය type කර key ඔබන්න. n මගින් තවදුරටත් ඉදිරියට සෙවීම කල හැකිය. ? මගින් ගොණුවක අග සිට මුලට සෙවීම සිදු කරයි. (less command පිලිබඳ තොරතුරු දැනගැනීමට “ගොණු අන්තර්ගතය බලා ගැනීම” ලිපියට පිවිසෙන්න.)

වචන සෙවීමට අමතරව සොයාගත් වචනය වෙනුවට වචනයක් ආදේශ කිරීමටද අවශ්‍ය විය හැකිය. ඒ සඳහා s (substitute) command භාවිතා කරනු ලබයි. මෙහිදී command යොදාගත යුතු රීතිය (syntax) පහත පරිදි වේ. තරමක් සංකීර්ණ ලෙස පෙනුණද රීතිය තේරුම් ගැනීම ඉතා පහසුය. ඒ සඳහා රූප සටහන උපයෝගී කරගන්න.

serach-and-replace
search and replace
: => command එකෙහි ආරම්භය සටහන් කරයි.
range => වචන සෙවිය යුතු පරාසය (range) දක්වයි. % මගින් සම්පූර්ණ ගොණුව නියෝජනය වන අතර ඉලක්කම් මගින් සෙවීම කලයුතු පේළි ලබාදිය හැකිය.
විශේෂ වශයෙන් n,$ මගින් n වන පේළියේ සිට ගොණුවේ අග දක්වා පරාසය දැක්වීමට පිළිවන. කිසියම් පරාසයක් ලබාදී නැත්නම් command ක්‍රියාත්මක වන්නේ
cursor පිහිටි පේළිය තුළ පමණි.
s => substitute command
search => සෙවිය යුතු වචනය
replace => ආදේශ කල යුතු වචනය
g => සෙවීම සිදුකරන වචනයට ගැළපෙන සියලු තන්හි (global) එකවර ආදේශනය සිදුවේ.
c => ආදේශනය කිරීමට පෙර එය තහවුරු කරන (confirm) ලෙස පණිවුඩයක් පහත පරිදි විමසයි. එයට පහත දක්වා ඇති පිළිතුරු වලින් එකක් ලබාදිය යුතුය.

replace with Line (y/n/a/q/l/^E/^Y)?

y (yes) - ආදේශනය සිදු කරයි.
n (next) - දැනට cursor ඇති ස්ථානයේ ආදේශනය මගහැර යයි.
a (all) - සියලු තන්හි ආදේශනය සිදු කරයි.
q (quit/Esc) - command එකෙන් ඉවත්වීම සිදුවේ.
l (last) - දැනට cursor ඇති ස්ථානයේ ආදේශනය සිදුකර command එකෙන් ඉවත්වීම සිදුවේ.
^E,^Y (Ctrl + E, Ctrl + Y) - පිළිවෙලින් ආදේශනය සිදු කරන ස්ථානයේ සිට ඉහළට හෝ පහළට ගමන් කිරීම කල හැකිය.

 එකවර ගොණු (files) කිහිපයක වැඩ කිරීම

බොහෝ අවස්ථා වලදී එකිනෙකට සම්බන්ධ ගොණු (files) කිහිපයක සංස්කරණ කටයුතු (editing) කිරීමට සිදුවේ. vi(m) editor තුළ විශේෂ වශයෙන් මෙම පහසුකම ලබාදී ඇත. එකවර files කිහිපයක් විවෘත කරගැනීමට vi command සමග අවශ්‍ය files වල නම් ලබාදීම හෝ තුරුම්පු (wildcards) යොදාගැනීම කල හැකිය. (Wildcards පිලිබඳ දැනගැනීමට ගොණු සහ නාමාවලි කළමනාකරණය පාඩමට පිවිසෙන්න.)

vi file1 file2 file3 ...

මෙහිදී files අතර මාරුවීමට :n සහ :N විධාන (commands) යොදාගත හැකිය. n මගින් ඊළඟ (next) ගොණුවට ද, N මගින් පෙර (previous) ගොණුවට ද මාරුවීම සිදුවේ. Files අතර මාරුවීමේදී දැනට දිස්වන file එකේ සිදුකල වෙනස්කම් (editing/changes) සුරක්‍ෂිත (save) කර තිබිය යුතු අතර, එය මගහැර (ignore) යාමට command අගට ! ලෙස යොදන්න.

දැනට vi(m) editor හි විවෘත කරගෙන ඇති files ලැයිස්තුවක් ලෙස බලාගැනීමට :buffers command උපකාරී වේ. එහිදී ලැයිස්තුවෙහි දැක්වෙන file වල ඉදිරියෙන් ඇති අංකය සමග buffer n (n=file number) ලෙස ලබාදීමෙන් එම file එකට මාරුවිය හැකිය.

buffers & buffer commands

දැනට වැඩ කරමින් සිටින files වලට අමතරව අළුතින් files විවෘත (open) කරගැනීමටද vi තුළම ඉඩ සලසා ඇත. ඒ සඳහා :e සමග open කරගැනීමට අවශ්‍ය filename(s) ලබාදෙන්න. මෙසේ open කරගත් files අතර මාරුවීම :n හෝ :N  මගින් කල නොහැකිය. ඒ සඳහා ඉහත දැක්වූ buffer/buffers commands යොදාගත යුතුය.

නිතර අවශ්‍ය නොවන නමුත්, එක් ගොණුවක අන්තර්ගතය (content) වෙනත් ගොණුවකට සම්පුර්ණයෙන් ම පිටපත් (copy) කිරීමට සිදුවන අවස්ථාවකදී එය පහසුවෙන් කිරීමට vi තුළ ඉඩ ලබාදී ඇත. ඒ සඳහා copy කිරීම සිදු කලයුතු පේළියට cursor ගෙනගොස් r (read) command පහත පරිදි ලබාදෙන්න.

read command

අවසාන වශයෙන් Text file editing සඳහා සෘජුව ම සම්බන්ධ නොවන ඉතා වැදගත් commands කිහිපයක් පහතින් දක්වා ඇත. පරිගණක ක්‍රමලේඛනයේදී (programming) මින් ලැබෙන ප්‍රයෝජන අතිමහත්ය.

:sh - vi editor තුළ සිට තාවකාලිව command line වෙත පිවිසීමට ඉඩ ලබාදේ. exit ලෙස type කර නැවත vi පරිසරයට පැමිණීමට හැකිය.
:set nu - Editor එකෙහි වම්පසින් පේළි අංක (line numbers) දර්ශනය කරගැනීමට යොදාගනී. මෙය පරිගණක කේත (source code) අඩංගු
files සංස්කරණයේදී ඉතා ප්‍රයෝජනවත් ය.
:set nonum - පේළි අංක දිස්වීම අත්හිටුවයි.
:set tabstop=n (n=1,2,3,...) - Tab key මගින් cursor එක දකුණු පසට තල්ලුවන ප්‍රමාණය දක්වයි. සම්මත අගය ලෙස 8 යෙදෙන නමුත්
කේත ගොණු (source code files) සඳහා බොහෝවිට 4 යොදාගැනේ.

vi(m) editor සතු සියලු විශේෂාංග මෙවැනි ලිපි කිහිපයකින් පමණක් සාකච්චා කිරීම ඉතා අපහසුය. ඒ නිසා බහුල ලෙස යොදාගන්නා vi commands පමණක් මෙහිදී ඇතුළත් කෙරුණු අතර ඉදිරියේදී සවිස්තරාත්මක ලෙස vi(m) editor පිලිබඳ අධ්‍යයනය සිදු කිරීමට බලාපොරොත්තු වෙමු.

ප්‍රතිචාරයක් ලබාදෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Google photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )