我发现我浪费了很多时间关闭和重新打开文件集,因此我想改进我的 VIM 宏来加载和保存会话以支持多个会话。
我希望它提示输入字符串值,以便我可以按快捷键,然后输入例如“foo”,然后让我的宏将会话保存到 .foo (所以我还需要执行基本的字符串连接在上面)。然后,我会对加载宏执行相同的操作,并按主题管理会话(使用 MVC 框架,您往往需要处理大量文件)。
" Control-S to save and Shift F5 to load
set sessionoptions=tabpages,winpos
map <S-F5> :source ~/.vim/.session<cr>
map <c-s> :mksession! ~/.vim/.session<cr>\| :echo "Session saved."<CR>
Run Code Online (Sandbox Code Playgroud)
我对 VIM 脚本编写经验很少。是否可以在一个衬里或一个小函数中完成此操作?
谢谢。
小智 3
map <s-f5> :execute "source ".input("session name: ", "~/.vim/session.", "file")<cr>\n
Run Code Online (Sandbox Code Playgroud)\n\n输入“foo”加载“session.foo”。
\n\n相反,您还可以执行以下操作:
\n\nmap <s-f5> :source ~/.vim/session.\n
Run Code Online (Sandbox Code Playgroud)\n\n请注意,没有<cr>,因此您自己完成命令,然后按 Enter \xe2\x80\x94 与上面相同的输入,甚至到文件名完成。
\n\n然而,我会考虑在这一点上调用一个函数或其他东西。
\n