说我在当前目录中有stuff.txt,填充了东西。我想摆脱它,并在vim中创建一个新的stuff.txt。显然我可以做到
rm stuff.txt
vi stuff.txt
但那是两个步骤,恐怖!有没有办法在不调用rm的情况下将其合并为一个vim / vi调用?在我查看手册时,我在某种程度上错过了vim的perphaps?
明显的解决方法是在名为new.sh的文件中创建这样的内容:
#!/bin/bash
rm $1
vim $1
然后从命令行执行./new.sh stuff.txt,但这看起来有点不太重要。我使用标准bash在ubuntu上。
答案 0 :(得分:5)
你可以像这样开始vim
:
vim -c '%d' stuff.txt
此处-c
选项为:
打开文件后,
-c <command>
加载第一个文件后执行<command>
%d
将删除文件中的所有行。
答案 1 :(得分:1)
rmed () {
local EDITOR=${EDITOR:-vi}
[ -f "$1" ] && rm "$1"
command $EDITOR "$1"
}
这是一个shell函数,它将删除给定文件,然后使用同名文件打开$EDITOR
(如果未设置vi
,则为$EDITOR
。
$ rmed somefile
答案 2 :(得分:0)
你写一个函数/别名/脚本来做你想做的事
我有一个名为vix
的脚本,它将在参数不存在时开始编写一个shell脚本(shebang line和chmod + x),或者只有chmod并在存在时编辑它。
也许您应该使用virm
因为我不喜欢rmvi
的声音。