Comments 5
Сделал такой костыль для Bash:
stty="$(stty -g)" && stty raw -echo min 0 \
&& echo -en '\e[6n' && read -rsdR column \
&& stty "$stty" && (( ${column##*;} > 1 )) \
&& echo
Запрос текущего столбца у терминала. Если не в начале экрана (столбец > 1), то вывести перевод строки (echo).
Используется тоже в PROMPT_COMMAND
.
+5
Я когда-то тоже таким пользовался, но потом заметил, что этот подход ломает выполнение команд набранных пока текущая выполняется. В норме если в bash такое, то он покажет дату:
sleep 5⏎
# не дожидаясь завершения sleep
date⏎
Ну и кроме того в этом подходе форков больше получается, он ресурсозатратнее.
0
неожиданно очень интересно. зашёл зевая, дочитал уже проснувшись.
+3
Было несколько неожиданно увидеть привычную формулу (addr+0xfff) & ~0xfff
или (A+N-1)/N*N
, сводящуюся к
округлить_вниз_до_кратного(A + N - 1, N)
вычисленную на управляющих символах ASCII.
0
Sign up to leave a comment.
Простой, но умный ход, применяемый в zsh и fish для решения проблемы пропущенного символа перевода строки