есть ли ярлык для удаления пробелов и табуляции вокруг точки в zsh

Вы можете попробовать подключиться к этому процессу с помощью отладчика,и принудительно перенаправить его файловый дескриптор 2 в другое место:

gdb -batch -p PID -ex 'p $f=open("/path/to/log", 01101, 0666), dup2($f, 2), close($f)'

Замените PIDна pidвашего процесса, а "/path/to/log"на файл, в который следует перенаправить fd 2 (stderr ). 01101есть O_WRONLY|O_CREAT|O_TRUNC. Вы можете изменить разрешения 0666на более строгие, если umask процесса неверен. Процесс может буферизоваться, и его выходные данные могут не отображаться сразу в файле, куда был перенаправлен stderr.

Это взлом. YMMV .

4
26.06.2020, 14:13
1 ответ

Я не думаю, что есть, но вы всегда можете написать это сами как:

delete-horizontal-space() {
  emulate -L zsh
  set -o extendedglob
  LBUFFER=${LBUFFER%%[[:blank:]]##}
  RBUFFER=${RBUFFER##[[:blank:]]##}
}

zle -N delete-horizontal-space
bindkey '\e\\' delete-horizontal-space
4
18.03.2021, 23:24

Теги

Похожие вопросы