有时,在阅读某些内容时,我会心不在q地键入:w。这会导致文件的修改时间改变,有时会导致我的构建系统不必要地重建项目的实质性部分。

是否有一种方法可以将vim设置为如果我尝试不执行任何操作写一个文件,它没有被更改吗?

#1 楼

扩展@ lcd047的答案,您可以使用cabbrev修改w

:cabbrev w <c-r>=(getcmdtype()==':' && getcmdpos()==1 ? 'up' : 'w')<CR>


当您键入:w时,您会注意到按回车键将替换为:up

#2 楼

不是直接(即,无法更改:w的行为),但是您可以学习使用:up而不是:w。它正是您想要的。

评论


让我补充一点:我使用了喜欢的键盘映射进行保存,并且将其绑定到:update而不是:write以获得原始海报要求。

–乔瓦尼·马吉奥拉尼(Giovanni Maggiorani)
2015年4月14日在21:10