我已经将我的 .vimrc 设置为自动添加一个 shebang 行,如下所示:
autocmd BufNewFile * execute 'silent! 1s/.*/#!\/usr\/bin\/env ' . (empty(&filetype) ? '' : ' '.&filetype)
Run Code Online (Sandbox Code Playgroud)
但是,我希望它还在其下方添加两行并进入插入模式。当我简单地将 $i 添加到命令的末尾时,如下所示,我收到一个错误。想法?
autocmd BufNewFile * execute 'silent! 1s/.*/#!\/usr\/bin\/env ' . (empty(&filetype) ? '' : ' '.&filetype) $<CR><CR>i
Run Code Online (Sandbox Code Playgroud)
你可以使用这个:
autocmd BufNewFile * if !empty(&filetype) | execute 'silent! 1s/.*/#!\/usr\/bin\/' . &filetype . '\r\r'| :startinsert | endif
Run Code Online (Sandbox Code Playgroud)
顺便说一句,巧妙的想法,我将这个添加到我的 vimrc :)