我是一个重维姆用户和我也使用了大量多路复用器bash
以及我日常的计算机活动中的大量内容。
为了优化我的工作流程,更重要的是,我想要一种方法来获取我在计算机会话期间所做的所有按键的日志。
我正在寻找一个可以像这样工作的程序:
keylogger -o log.txt | bash
然后我在 bash 会话中输入的所有内容都会被记录到
log.txt
.最终log.txt
结果是这样的:tmux<cr> vi wefwef.c<cr> iHello, world!<esc> VUoHAHAHAHAHAHA hahahah!<esc>hhllb :!grep -a 66 /usr/bin/vi | aplay<cr> :x<cr> cat wefwef.txt<cr> make war<cr> echo vivivi is the editor of the beast!!<cr> yes | rm -rf /<cr> ps -A | grep '[0-9]\+' -o | xargs kill -9<cr> exit 666<cr>
...然后我可以使用这些信息来进一步优化我的工作流程!
有没有类似于我描述的 Unix 工具?
答案1
从zsh
,你可以这样做:
cmd="stty rows $LINES cols $COLUMNS; stty '$(stty -g)'; bash"
STTY='raw -echo' cat > typescript.in | script -c "$cmd"
然后你就会得到你输入的内容typescript.in
和输出typescript
。