Vim:在 auto shebang 后添加两行

Age*_*ama 3 vim

我已经将我的 .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)

Har*_*ish 5

你可以使用这个:

autocmd BufNewFile * if !empty(&filetype) | execute 'silent! 1s/.*/#!\/usr\/bin\/' . &filetype . '\r\r'| :startinsert | endif
Run Code Online (Sandbox Code Playgroud)

顺便说一句,巧妙的想法,我将这个添加到我的 vimrc :)