
所有 vim 的内部命令都是不可编程的。所以可能没有办法让 :w 做咱们想做的事情。
折衷的方法暂时想到两个:
一个是自己新建一个命令,比如 :W,让它做我们想做的事情,但缺点是之后每次存盘要想着用 :W 而不是已经习惯的 :w。我觉得这可能不会令人满意。
还一个办法是,让 vim 每次创建新缓冲区的时候看一下是不是给了名字,如果没给名字就自动赋一个名字。方法是在 .vimrc 里加上:
let s:defualtPath = escape('c:/temp/', ' \')function GenerateFileName ()
if !empty(expand("<afile>")) | return | endif
let l:filename = strftime("%Y%m%d%H%M%S.txt")
exec "f " . s:defualtPath . l:filename
endfunction
au BufAdd * call GenerateFileName()
au VimEnter * doau BufAdd *
Vim确实没有单独重命名命令可以自己写
:command! -nargs=1 Rename let tpname = expand('%:t') | saveas <args>| edit <args>| call delete(expand(tpname))
上面这句如果加到.vimrc里面就整体有效
使用
:Rename newFile.txt 就重命名为newFile.txt
试一试,如果有瑕疵可以反馈给我
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)