Bracketed-paste
બ્રેકેટેડ પેસ્ટ (કેટલીકવાર પેસ્ટ બ્રેકેટિંગ તરીકે ઓળખાય છે) એ કેટલાક ટર્મિનલ એમુલેટરનો એક પ્રકાર છે જે ટર્મિનલમાં ચાલતા પ્રોગ્રામ્સને પેસ્ટ કરેલા લખાણને સામાન્ય રીતે ટાઇપ કરેલા લખાણથી અલગ રીતે વ્યવહાર કરવાની મંજૂરી આપે છે. ઈમેક્સ સાથેની ક્રિયાપ્રતિક્રિયામાં સુધારો કરવા માટે વપરાશકર્તા-યોગદાન પરિવર્તન તરીકે 2002માં એક્સટર્મ દ્વારા કૌંસવાળી પેસ્ટ સુવિધા રજૂ કરવામાં આવી હતી. પાછળથી, 2005 માં, અન્ય વપરાશકર્તાએ જો એડિટર માટે અન્ય પસંદગી/પેસ્ટ સુવિધાના ભાગ રૂપે આનું દસ્તાવેજીકરણ કર્યું. ઘણા વર્ષો દરમિયાન, અન્ય વિકાસકર્તાઓએ ટર્મિનલ ઇમ્યુલેટર્સ અને સંપાદકો માટે સુવિધાને અનુકૂલિત કરી જે આ સુવિધા સાથે કામ કરે છે. પ્રેરણા બ્રેકેટેડ પેસ્ટનો ઉપયોગ નીચેની સમસ્યાને ઉકેલવા માટે થાય છે, જે સામાન્ય રીતે ટર્મિનલ ટેક્સ્ટ એડિટર (જેમ કે વિમ અથવા ઈમેક્સ) માં કોડને સંપાદિત કરતી વખતે જોવા મળે છે. આ લખાણ સંપાદકોમાં ઘણીવાર ઓટોઇન્ડન્ટ કાર્યક્ષમતાનો સમાવેશ થાય છે, જે વપરાશકર્તા જ્યારે લીટીના અંતે એન્ટર કી દબાવે છે ત્યારે ઇન્ડેન્ટેશનને આપમેળે ઉમેરવાનું કારણ બને છે. ઉદાહરણ તરીકે, ધારો કે આપણે ટેક્સ્ટ એડિટરમાં નીચેના કોડ બ્લોકને સંપાદિત કરી રહ્યા છીએ, જેમાં કર્સરની સ્થિતિ દ્વારા ચિહ્નિત થયેલ છે | character.def f (): પ્રિન્ટ ('ફૂ') |If વપરાશકર્તા દાખલ કરો દબાવે છે, ટેક્સ્ટ સંપાદકો ઘણીવાર કર્સરને આગામી કોડ block.def f () માં ચિહ્નિત સ્થાન પર આગળ વધારશેઃ પ્રિન્ટ ('ફૂ') |This કોડ પેસ્ટ કરતી વખતે અનિચ્છનીય પરિણામો લાવી શકે છે જે પહેલેથી જ ફોર્મેટ કરેલ છે. ઉદાહરણ તરીકે, ધારો કે વપરાશકર્તા કોડના નીચેના બ્લોકને file.def g (): પ્રિન્ટ ('હેલો') પ્રિન્ટ ('વર્લ્ડ') માં કૉપિ કરવા માંગે છે. પછી, તેઓ તેમની ફાઇલમાં લક્ષ્ય સ્થાન પસંદ કરે છે, અને પેસ્ટ આદેશ જારી કરે છે. ટર્મિનલ એમુલેટર પછી ક્લિપબોર્ડમાંથી અક્ષરોને ટેક્સ્ટ એડિટરને મોકલે છે, અને ટેક્સ્ટ એડિટર કદાચ ક્લિપબોર્ડમાંથી આવતા એ ડી અક્ષર અને વપરાશકર્તા દ્વારા તેના કીબોર્ડ પર ડી કી દબાવીને આવતા અક્ષર વચ્ચે તફાવત કરી શકશે નહીં. કોડ બ્લોકમાં નવી લાઈનોને તે જ રીતે ગણવામાં આવે છે જે રીતે વપરાશકર્તા દ્વારા એન્ટર કી દબાવવામાં આવે છે. તેથી, જ્યારે પ્રથમ લાઇનના અંતે નવી લાઇન ટેક્સ્ટ એડિટરને મોકલવામાં આવે છે, જો ઓટોઇન્ડન્ટ સક્ષમ હોય, તો ટેક્સ્ટ એડિટર ઇન્ડેન્ટ (ઘણી જગ્યાઓ અથવા ટેબ અક્ષર) દાખલ કરશે. આગળ, ટર્મિનલ ઇમ્યુલેટર ક્લિપબોર્ડ પર કોડના બ્લોકની બીજી લાઇનની શરૂઆતમાં જગ્યાઓને અનુરૂપ જગ્યા અક્ષરોને પ્રસારિત કરશે, પરિણામે ડબલ-ઇન્ડેન્ટેશન થશે. વધુમાં, આ સંદર્ભમાં, લાક્ષણિક ઓટોઇન્ડન્ટ વર્તણૂક ત્રીજી શરૂ કરતી વખતે બીજી લાઇનના ઇન્ડેન્ટેશન સ્તર સાથે મેળ ખાતી હશે, જેના પરિણામે ત્રીજી લાઇન ટ્રિપલ-ઇન્ડેન્ટેડ થશે. અંતિમ પરિણામ કંઈક એવું દેખાઈ શકે છે જેમ કે following.def g (): પ્રિન્ટ ('હેલો') પ્રિન્ટ ('વર્લ્ડ') બ્રેકેટેડ-પેસ્ટ ટર્મિનલ ઇમ્યુલેટર્સનું વર્ણન (જેમ કે એક્સટર્મ અને આઈટર્મ 2) પ્રોગ્રામ્સને એસ્કેપ કોડ્સ અથવા કંટ્રોલ સિક્વન્સ દ્વારા ટર્મિનલ ઇમ્યુલેટર્સના વર્તનને રૂપરેખાંકિત કરવાની મંજૂરી આપે છે. આવું કરવાની સામાન્ય રીત એ છે કે વપરાશકર્તા પ્રોગ્રામ સ્ટાન્ડર્ડ આઉટ કરવા માટે કંટ્રોલ સિક્વન્સ પ્રિન્ટ કરે છે, અને ટર્મિનલ ઇમ્યુલેટર સ્ટાન્ડર્ડ આઉટ વાંચે છે, કંટ્રોલ સિક્વન્સની નોંધ લે છે અને યોગ્ય રીતે પ્રતિક્રિયા આપે છે. ખાસ કરીને, ટર્મિનલ ઇમ્યુલેટર્સ નિયંત્રણ ક્રમ પ્રદાન કરી શકે છે જે કૌંસવાળી પેસ્ટને ચાલુ અને બંધ કરે છે. ટેક્સ્ટ એડિટર પ્રારંભમાં અથવા વપરાશકર્તા આદેશના જવાબમાં કૌંસ-પેસ્ટને ચાલુ કરવા માટે નિયંત્રણ ક્રમ મોકલી શકે છે. ત્યારબાદ, સામાન્ય રીતે વપરાશકર્તા દ્વારા ટાઇપ કરેલા અક્ષરોને સામાન્ય રીતે ટર્મિનલ એમુલેટર દ્વારા ટેક્સ્ટ એડિટરને મોકલવામાં આવશે. જો કે, જો વપરાશકર્તા ટર્મિનલ ઇમ્યુલેટરમાં પેસ્ટ આદેશ જારી કરે છે, તો ટર્મિનલ ઇમ્યુલેટર પેસ્ટ કરેલા લખાણની શરૂઆતમાં અને અંતે વિશેષ નિયંત્રણ ક્રમ દાખલ કરશે-તે પેસ્ટ કરેલી સામગ્રીને કૌંસ કરશે-ટેક્સ્ટ એડિટરને તે ઇનપુટને અલગ રીતે વ્યવહાર કરવા માટે સક્ષમ બનાવશે (ઉદાહરણ તરીકે, અસ્થાયી રૂપે ઓટોઇન્ડેન્ટેશન બંધ કરવા માટે). દરેક અમલીકરણ એક્સટર્મના નિયંત્રણ ક્રમમાં દસ્તાવેજીકૃત નિયંત્રણ ક્રમનો ઉપયોગ કરે છેઃ ESC [200 ~ પેસ્ટ કરેલા લખાણની શરૂઆત સૂચવે છે અને ESC [201 ~ અંત સૂચવે છે. સંદર્ભો ક્લિપબોર્ડ (કમ્પ્યુટિંગ) વપરાશકર્તા ઈન્ટરફેસ તકનીકો