我想使用Vim进行无干扰的写作而不是PyRoom / TextRoom。提到VimRoom的This post已经可以告诉我如何获得大部分设置。
我只想念如何启用TextRoom样式流模式:
如何禁用退格键和删除键(不是像d $这样的快捷方式)?
答案 0 :(得分:15)
您可以通过将单个键映射到特殊<Nop>
目标来禁用它们:
:inoremap <BS> <Nop>
:inoremap <Del> <Nop>
(假设您只希望在插入模式下禁用它们。)
答案 1 :(得分:-1)
你可以在没有vim的情况下流动,通过制作一个shell脚本,它在原始模式下从tty读取并且不允许大多数控制字符,包括退格和DEL,并且回显两次:一次直接到终端,一次到标准输出,以便您可以将工作重定向到文件。
#!/bin/sh
saved_tty=$(stty -g < /dev/tty)
bail()
{
stty $saved_tty < /dev/tty
exit $?
}
trap bail EXIT INT
stty raw -echo < /dev/tty
while true ; do
ch=$(dd bs=1 count=1 < /dev/tty 2> /dev/null)
code=$(printf "%d" "'$ch")
if [ $code -eq 4 ] ; then
printf "\r\n" > /dev/tty
printf "\n"
break
elif [ $code -eq 13 -o $code -eq 10 ] ; then
printf "\r\n" > /dev/tty
printf "\n"
elif [ $code -ge 32 -a $code -lt 127 ] ; then
printf "%s" "$ch" > /dev/tty
printf "%s" "$ch"
fi
done
将其另存为flow
,chmod a+x flow
,只需:
$ flow > file.txt
Backspace and del not allowed
here just type and type.
Then hit Ctrl-D when you're done; no Enter
required.
$ flow
ffoorrggoott ttoo rreeddiirreecctt!!
如果您需要空白屏幕,请先clear
或将屏幕清除添加到脚本中。