දෘශ්‍ය එදිරිව සංස්කාරක - වෙනස කුමක්ද?


197

මම සාමාන්‍යයෙන් දෙකම VISUALසහ EDITORපරිසර විචල්‍යයන් එකම දෙයකට සකසා ඇත , නමුත් වෙනස කුමක්ද? මා ඒවා වෙනස් ලෙස සකසන්නේ ඇයි? යෙදුම් සංවර්ධනය කිරීමේදී, මා VISUALපෙර EDITORහෝ අනෙක් අතට බැලීමට තෝරා ගත යුත්තේ ඇයි ?

Answers:


158

මෙම EDITORකර්තෘ "උසස්" පර්යන්ත ක්රියාකාරිත්වය (පැරණි වැනි භාවිත නොකර වැඩ කිරීමට හැකි විය යුතුය edහෝ exක්රමය vi). එය ටෙලි ටයිප් පර්යන්තවල භාවිතා කරන ලදී.

VISUALකර්තෘ ලෙස සම්පූර්ණ තිරය කර්තෘ විය හැකි viහෝ emacs.

උදා: ඔබ බාෂ් (භාවිතා කරමින් C-x C-e) හරහා සංස්කාරකවරයකුට ආරාධනා කරන්නේ නම් , බාෂ් පළමු VISUALසංස්කාරකය උත්සාහ කර පසුව VISUALඅසමත් වුවහොත් (ටර්මිනලය පූර්ණ තිර සංස්කාරකයට සහය නොදක්වන බැවින්) එය උත්සාහ කරයි EDITOR.

වර්තමානයේ, ඔබට EDITORසැකසීමෙන් ඉවත් වීමට හෝ එය සැකසිය හැකිය vi -e.


12
බොහෝ යෙදුම් $VISUALෂෙල් ස්නිපටයක් ලෙස සලකන්නේ ඒවා (ෂෙල්-උපුටා ගත්) ගොනුවේ නම එකතු කරන නමුත් සමහරු එය ක්‍රියාත්මක කළ හැකි හෝ සෙවිය නොහැකි ක්‍රියාකාරී නමක් ලෙස සලකති $PATH. එබැවින් ක්‍රියාත්මක කළ හැකි සම්පූර්ණ මාර්ගයට VISUAL(සහ EDITOR) සැකසීම වඩාත් සුදුසුය ( ඔබට උදා: විකල්ප අවශ්‍ය නම් එය එතීමේ පිටපතක් විය හැකිය).
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

5
නූතන කාලවලදී edහා ඒ හා සමාන ඒවා එතරම් ජනප්‍රිය නොවන බැවින් නොසලකා හැරීම VISUALසහ භාවිතා කිරීම සුදුසු යැයි මම විශ්වාස කරමි EDITOR.
පවෙල් ඉමර්ඩා

15
බාෂ් ගැන C-x C-eඉඟියට ස්තූතියි . ඉතා පහසුයි.
mndrix

5
@ PavelŠimerda, උබුන්ටු 12.04 හි සැකසීම EDITORපමණක් ප්‍රමාණවත් නොවේ git. තොරව VISUALමාලාවක් වීම gitනොසලකා හැරීම් EDITORහා සාධාරණ භාවිත nano(පෙරනිමි දී සම්පාදනය, මම හිතන්නේ).
maxschlepzig

5
@ PavelŠimerda එය තේරුමක් නැත, නමුත් එය සම්මුතියයි. වැනි සංස්කාරක වැනි සංස්කාරකවරුන් සඳහා සංස්කාරකය භාවිතා කරයි ed. GUI සමඟ සංස්කාරකවරුන් පැමිණි විට - සහ GUI විසින්, මම අදහස් කළේ CLI GUI (vim, emacs, ආදිය .-- සිතන්න ncurses), ඩෙස්ක්ටොප් පරිසරය නොව GUI - සංස්කරණ ක්‍රියාවලිය නාටකාකාර ලෙස වෙනස් වූ නිසා තවත් විචල්‍යයක අවශ්‍යතාවය පැන නැගුනි. මෙම සන්දර්භය තුළ, CLI GUI සහ ඩෙස්ක්ටොප් පරිසරය GUI සංස්කාරකවරුන් අඩු හෝ වැඩි වශයෙන් සමාන වේ, එබැවින් ඔබට දර්ශනය දෙකටම සැකසිය හැකිය; කෙසේ වෙතත්, සංස්කාරක යනු මූලික වශයෙන් වෙනස් කාර්ය ප්‍රවාහයක් සඳහා ය. ඇත්ත වශයෙන්ම, මේ සියල්ල historical තිහාසික ය. මේ දිනවල කිසිවෙකු එඩ් භාවිතා නොකරයි.
සෙනෙක්සර්

37

පිළිගත් පිළිතුර බොහෝ විට හොඳ, කෙටි ප්‍රතිකාරයක් විය හැකිය, නමුත් මෙය දෘශ්‍ය හා සංස්කාරක අතර වෙනස තවමත් වැදගත් විය හැකි විට ගැඹුරට යාමට උත්සාහ කිරීමකි ( ඇඩම් කැට්ස්ගේ පිළිතුර මත පදනම්ව ).

POSIX පිරිවිතර තවමත් දෘශ්‍ය මාදිලියේ සංස්කාරකවරුන් සහ රේඛීය සංස්කාරකවරුන් අතර වෙනස හඳුනා ගනී. අනුක්‍රමික සම්බන්ධතා හරහා කර්සරය ස්ථානගත කිරීම දුෂ්කර වූ දිනවල මෙය සැබවින්ම වැදගත් විය (විශේෂයෙන් අනුක්‍රමික සම්බන්ධතාවයේ වේගය නිසා). මෙම vi සඳහා ලිපියක් vi අතර වෙනස (දෘශ්ය මාදිලිය සංස්කාරක) සහ හිටපු (රේඛාවක් සංස්කාරක) මත යම් ප්රයෝජනවත් පසුබිම ලබා දෙයි. ඔබ පර්යේෂණයෙන් ගැඹුරට හාරා බැලුවහොත්, "හිටපු" පිරිවිතරයේ "තාර්කික" කොටස ඔබට හමුවනු ඇත , එමඟින් වෙනස තවමත් පිරිවිතරයේ පැවතීමට හේතුවක් සපයයි:

Vi හි කොටස් බ්ලොක් මාදිලියේ පර්යන්තයක් මත හෝ කිසිදු ආකාරයක කර්සර ආමන්ත්‍රණයකින් තොරව පර්යන්තයක් මත සතුටුදායක ලෙස ක්‍රියාත්මක කිරීම දුෂ්කර බව හඳුනාගෙන ඇති අතර, එබැවින් එවැනි ලක්ෂණ සියලුම පර්යන්තවල ක්‍රියාත්මක විය යුතු බව අනිවාර්ය අවශ්‍යතාවයක් නොවේ . කෙසේ වෙතත්, vi ක්‍රියාත්මක කිරීම මඟින් ඒවාට සහාය දැක්විය හැකි සියලුම පර්යන්තවල පූර්ණ හැකියාවන් ලබා දිය යුතුය.

මගේ බෝඩ් 300 මොඩමය අතහැර දැමීමෙන් පසු මට මෙය අවශ්‍ය නොවීය, නමුත් කාවැද්දූ පද්ධති (සහ / හෝ සැබවින්ම ඩයිසි සම්බන්ධතා) හා සම්බන්ධ වීමට මන්දගාමී අනුක්‍රමික රේඛා භාවිතා කරන පුද්ගලයින් කැමති රේඛා මාදිලියක් ලබා ගැනීමට හැකිවීම අගය කරනු ඇතැයි මට සිතිය හැකිය. සංස්කාරකය vi වැනි “දෘශ්‍ය” සංස්කාරකයෙන් වෙනස් වේ. පාඩු සහිත, ප්‍රමාද වූ, පටු සම්බන්ධතාවයක් ඇති VT100 විලාසිතාවේ ටර්මිනල් කේත සීමිත යෙදුම්වල “පිපිරී” යයි.

අපෙන් ඉතිරි අයට, “නිවැරදි” පිළිතුර “ඔවුන් දෙදෙනාම ඔබ කැමති සංස්කාරක ලෙස සකසන්න” යනුවෙන් පෙනේ. ටර්මිනල් කවුළු සංස්කාරකයට (උදා: vi හෝ emacs) එදිරිව දේශීය / චිත්‍රක සංස්කාරක (උදා. .


3

මම නිගමනය කළේ $VISUALඑය චිත්‍රක සහ $EDITORවිධාන රේඛාව බවයි. නිර්වචනය කර නොමැති නම්, සොයන ඕනෑම දෙයක් ඊළඟට උත්සාහ $VISUAL කළ යුතුය$EDITOR .

( උපුටා දැක්වීම අවශ්‍යයි: නිසි ලියකියවිලි ලබා ගැනීමට මා කැමතිය, සමහර විට මෑන් පිටුවක් හෝ පොසික්ස් පිරිවිතර?)

මේ මොහොතේ, මගේ ~/.bashrcසහ මගේ මේ වගේ දේවල් තියෙනවා ~/.zshrc:

EDITOR="$(command -v vim)"

# we have gvim, not in an SSH term, and the X11 display number is under 10
if command -v gvim >/dev/null 2>&1 \
&& [ "$SSH_TTY$DISPLAY" = "${DISPLAY#*:[1-9][0-9]}" ]; then
  export VISUAL="$(command -v gvim) -f"
  SUDO_EDITOR="$VISUAL"
else
  SUDO_EDITOR="$EDITOR"
fi

gvimතොරව -fකැමැත්ත, ඔබගේ සංස්කරණයන් මත ක්රියා කිරීමට බලාපොරොත්තු වන බව වැඩසටහන් සමඟ වැඩ නෑ. මෙය අනිවාර්යයෙන්ම ඇතුළත් වේ sudoeditor( sudo -e).

ඔබට වයිම් අවකාශයේ සුදු පැහැති අවකාශයක් ඇත්නම් මෙය කැඩී යා හැක. එය ගැටළුවක් නම්, එක්කෝ එය නිසියාකාරව ස්ථාපනය කරන්න, නැතිනම් සමාන සම්බන්ධතා සලකා බලන්න/usr/local/bin/gvim


2
භාවිතා කළ $VISUALයුතුද යන්න රඳා පවතින්නේ ඔබට කර්සරය ස්ථානගත කිරීමේ හැකියාව ඇති පර්යන්තයක් තිබේද යන්න නොව ඔබට කවුළු පද්ධතියක් තිබේද යන්න නොවේ.
රේඩන් රොස්බරෝ

අහ්, නියමයි! ඒ සඳහා ඔබට නිශ්චිත යොමු සබැඳියක් ලබා දිය හැකිද? මම සිතන්නේ මගේ කේතය තවමත් ආරක්ෂිත බැවින් මමද පරීක්ෂා කර ඇති $DISPLAYනමුත් එය දැන ගැනීම හොඳය.
ඇඩම් කැට්ස්

කමක් නෑ, රොබ්ලාගේ පිළිතුරේ එවැනි සඳහනක් ඇති බව පෙනේ , එහි මගේ පිළිතුර පවා සඳහන් වේ.
ඇඩම් කැට්ස්

1
මගේ 2016 පිළිතුර ලියන විට, මට අදහසක් ලිවීමට තරම් කීර්තියක් නොතිබුණි (එය මා විසින් කරනු ඇත). ලිවීමේ විමසුමට ස්තූතියි, d ඇඩම්කාට්ස්!
robla

2

සමහර මෙවලම් EDITOR පමණක් පිළිගනී, උදාහරණයක් ලෙස ෂෙල් බිල්ඩින් fc :

-e ENAME  select which editor to use.  Default is FCEDIT, then EDITOR, then vi

0

Vi හෝ ඒ හා සමාන අසමත් වන පරිසරයක් නොපෙනෙන හෙයින්, මම X දර්ශනයක් අවශ්‍ය දෙයකට දර්ශනය සැකසීමට ගෙන ඇත, සහ සංස්කාරක හිටපු.

බොහෝ විට, සමහර වැඩසටහන් දෘශ්‍ය භාවිතා නොකරන විට එය මට ගැටලු ඇති කරයි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.