如何防止用另一个文件名保存文件?

时间:2017-05-17 07:55:58

标签: vim

当我使用:w命令时,我常常做错字。例如:我执行:w a命令然后创建一个名为' a'的新文件。

如何阻止:w(或:wq:wqa)命令中的参数?我想用它来保存当前文件只有它的名字。

2 个答案:

答案 0 :(得分:1)

您可以autocommand检查可能输入的错误文件名并避免使用它们。例如,要避免文件名a

:autocmd BufWritePre a throw 'Forbidden file name: ' . expand('<afile>')

答案 1 :(得分:0)

我已经定义了常用的 Ctrl + S 映射进行保存。由于这些在大多数其他应用中也起作用,它们现在已经存在于我的肌肉记忆中,我几乎没有意识到常规的保存。有了这个,我只用:w otherfile来写一个不同的名字,或:wq用于最后的保存和退出。

" Use CTRL-S for saving, also in Insert mode
nnoremap <C-S>      :<C-U>update<CR>
vnoremap <C-S>      :<C-U>update<CR>gv
inoremap <C-S>      <C-O>:update<CR>

注意:在终端中,您可能需要禁用流控制命令(stty start undef stop undef)以避免<C-S>冻结终端。