在VIM中一步打开与现有文件同名的空白新文件?

时间:2017-09-05 18:13:30

标签: bash ubuntu vim vi

说我在当前目录中有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上。

3 个答案:

答案 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的声音。