يمكن للمرء أن تسليط الضوء على أحرف الجدولة في المحطة؟
-
06-07-2019 - |
سؤال
وعن طريق تسلسل محطة، ويمكنني أن لون النص في محطة المحاكي:
$ echo -e '\e[37;41m--this is white on red--\e[0m'
وهذا يعمل.
وفيما يلي يطبع مستطيل أحمر، أي الأحرف الفضاء لديهم خلفية حمراء والمقدمة فارغة:
$ echo -e '\e[37;41m \e[0m '
ولكن يطبع التاليين المستطيلات الحمراء مفصولة التبويب:
$ echo -e '\e[37;41m \t \e[0m '
وهذا يعني أن حرف جدولة لا يتلقى تسليط الضوء على الخلفية الحمراء. فإنه يأخذ اللون محطة الخلفية الافتراضية.
لماذا لا يتم تسليط الضوء التبويب مثل الفضاء؟ يمكنني فرض هذا بطريقة أخرى؟
المحلول 2
ولقد وجدت الجواب: لا، التبويب لا يمكن تسليط الضوء في المتوافقة مع محطة المحاكي والمعايير. التبويب ليس بيضاء حقا في المعبر. فمن صراحة طابع حركة المؤشر على المضي قدما لعلامة الجدولة التالية. لذلك، في الواقع بلدي على سبيل المثال يقول "طباعة مسافتين على خلفية حمراء، المضي قدما لعلامة الجدولة التالية، ثم طباعة مسافتين أكثر على خلفية حمراء".
اقتراحوالحل سيكون في ankon لتحويل علامات التبويب إلى مسافات قبل الطباعة.
نصائح أخرى
إذا كنت لا تحتاج علامات التبويب أن تكون علامات التبويب، هل يمكن أن المعالجة المسبقة النص من خلال توسيع (1).
ولأنه كان من الصعب بالنسبة لي لإيجاد حل لطيفة (وكان هذا أول صفحة نتيجة البحث) ... هذا ما لدي في ملف .bashrc (من <لأ href = "http://pastebin.com/ Pn1fkkJq "يختلط =" نوفولو "> http://pastebin.com/Pn1fkkJq مع بعض التعديلات):
catt() { # Highlight whitespace on the terminal -- rolfwr
local C=`printf '\033[0;36m'` R=`printf '\033[0m'`
#cat "$@" | sed -e "s/ /${C}▹▹▹▹▹▹▹▹$R/g" -e "s/ /${C}·$R/g" -e "s/$/${C}⁋$R/"
#cat "$@" | sed -e "s/ /${C}·$R/g" -e "s/\t/${C} ▹▹ $R/g" -e "s/$/${C}⁋$R/"
cat "$@" | sed -e "s/ /${C}·$R/g" | expand | sed -e "s/ \( *\)/${C}▹\1$R/g" -e "s/$/${C}⁋$R/"
#cat "$@" | sed -e "s/ /${C}.$R/g" | expand | sed -e "s/ \( *\)/${C}>\1$R/g" -e "s/$/${C}P$R/"
}
والأمل وهذا سوف يساعد شخص آخر أيضا.