加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何使用vim打开目录下的每个.txt文件(使用Bash)

发布时间:2020-12-15 22:38:21 所属栏目:安全 来源:网络整理
导读:我正在尝试以下方法使用 vim打开当前目录下的每个txt文件. find . -name "*.txt" -print | while read aline; do read -p "start spellchecking fine: $aline" sth vim $alinedone 在bash中运行它会抱怨 Vim: Warning: Input is not from a terminalVim: Err
我正在尝试以下方法使用 vim打开当前目录下的每个txt文件.

find . -name "*.txt" -print | while read aline; do
  read -p "start spellchecking fine: $aline" sth
  vim $aline
done

在bash中运行它会抱怨

Vim: Warning: Input is not from a terminal
Vim: Error reading input,exiting...
Vim: Finished.

任何人都可以解释可能出错的地方吗?另外,我打算在使用vim之前使用read -p进行提示,但没有成功.

解决方法

尝试:

vim $( find . -name "*.txt" )

要修复您的解决方案,您可以(可能)执行以下操作:

find . -name "*.txt" -print | while read aline; do
      read -p "start spellchecking fine: $aline" sth < /dev/tty
      vim $aline < /dev/tty
done

问题是整个while循环从find获取其输入,并且vim继承该管道作为其stdin.这是一种让vim输入来自终端的技术. (但并非所有系统都支持/ dev / tty.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读