我想在写入后返回插入模式(参见:else
)
function! SaveOrSaveAsInInsert()
if @% == ""
:browse saveas
else
:w
"//TODO: Return to insert mode
endif
endfunction
尝试使用
:w<CR>a
但不起作用。谢谢!
编辑
@Randy Morris,使用有效的
startinsert
发表评论。另一方面 :h inserting-ex
说:所以我的问题是我坚持使用
startinsert
i
等价物,还是有办法绕过 a
行为?或者我应该坚持使用 imap <C-s> <Esc>w<CR>a
而没有文件名测试? 最佳答案
inoremap <expr> <c-s> "\<esc>:" . (@% == "" ? "browse saveas" : "w") . "\<cr>gi"
我使用 gi
回到插入模式。并使用表达式映射来确定文件是否已保存。