到目前为止,我已经尝试了很多这里提到的解决方案,我真正想要的是保持终端打开,同时在VsCode 中编写类似的体验。然后我遇到了这个非常适合我的解决方案。
安装前:
- 我正在使用
Nvim 0.5,但我认为它适用于任何版本,并且还检查了vim
- 我使用的是 macOS Catalina 版本 10.15.7
设置您的集成终端
步骤-1-
- 使用名称
myQuickTerminal.vim 或您想要的任何名称创建一个脚本。
- 输入以下脚本
"==============================================================================
"
" ▒█▀▀█ █░░█ ░▀░ █▀▀ █░█ ▀▀█▀▀ █▀▀ █▀▀█ █▀▄▀█ ░▀░ █▀▀▄ █▀▀█ █░░
" ▒█░▒█ █░░█ ▀█▀ █░░ █▀▄ ░▒█░░ █▀▀ █▄▄▀ █░▀░█ ▀█▀ █░░█ █▄▄█ █░░
" ░▀▀█▄ ░▀▀▀ ▀▀▀ ▀▀▀ ▀░▀ ░▒█░░ ▀▀▀ ▀░▀▀ ▀░░░▀ ▀▀▀ ▀░░▀ ▀░░▀ ▀▀▀
"
"==============================================================================
" " This is a script that will trigger a terminal quickly than the FloatTerminal
" open new split panes to right and below
"link: https://betterprogramming.pub/setting-up-neovim-for-web-development-in-2020-d800de3efacd
"==============================================================================
set splitright
set splitbelow
" turn terminal to normal mode with escape
tnoremap <Esc> <C-\><C-n>
" start terminal in insert mode
au BufEnter * if &buftype == 'terminal' | :startinsert | endif
" open terminal on ctrl+n
function! OpenTerminal()
split term://zsh
resize 10
endfunction
nnoremap <leader> n :call OpenTerminal()<CR>
注意:如果您出于特定原因想要运行 bash 而不是 zsh,请将 zsh 替换为 bash。
步骤-2-
让我们获取它,把它放在init.vim 中用于 neovim 或 `.vimrc' 用于 vim
source $HOME/.config/nvim/modules/mySpecialScripts/myQuickTerminal.vim
这将在您保存和获取资源时预先加载,您可以使用source $MYVIMRC 快速重新加载 init.vim 文件。
步骤-3-
正如您在脚本 n 中看到的那样,我映射了在新窗格中打开终端,我的是(空格键),一旦我单击(空格 + n),就会触发一个终端,我会喜欢编写我的代码终端打开时。
- 要退出终端中的插入模式,请按 Esc。
现在,要切换到代码编辑器窗格,请使用 CTRL+w w。一旦你打开了两个以上的面板,这个快捷方式就会变得很烦人,所以我也添加了以下快捷方式。
我也映射了这些以便在打开的窗格之间快速跳转,使用这些
" Better window navigation
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
可选
如果你想让你的终端用 key 退出当前缓冲区。你可以使用
tnoremap <Esc> <C-\><C-n>:q!<CR>
但由于我想在我使用的几个缓冲区之间切换而不关闭我使用的终端:
tnoremap <Leader><Esc> <C-\><C-n>:q!<CR>
最终结果
参考: