在Neovim中退出终端模式


Answers:


57

您应该按<C-\><C-n>

请参阅:help terminal-emulator以获取映射建议。


2
帮助页面不适用于我。我要用:help terminal-emulator-input
jasonszhao

3
现在只是:h终端仿真器

40

@romainl的答案是正确的,但我想为像我一样迷失于google的任何人添加更多信息。

直接从文档中我们得到以下注释:

终端模式具有自己的映射命名空间,可以使用“ t”前缀进行访问。可以使用终端映射来自定义与终端的交互。例如,以下是映射到退出终端模式的方法:

:tnoremap <Esc> <C-\><C-n>

有了这些知识,您很可能需要创建一些终端映射,以与您当前的工作流保持一致(标签/窗口移动等)。


嗨,我设置了确切的映射,但是按<Esc>键,没有任何反应。知道为什么吗?
凯文·伯克

如果从Ex模式添加它,结果是否相同?可能会更新错误的配置文件..
丹·布拉德伯里

1
谢谢。这帮助我添加了我的首选映射tnoremap kj <C-\><C-n>
Nick Merrill

2

退出并关闭

tnoremap <Esc> <C-\><C-n>:q!<CR>

在Vim 8中,这也适用:

tnoremap <ESC> <C-w>:q!<CR>

1
你并不需要N<c-w>N,你可以简单地按:<c-w>。而且,如果您真的想用所有打开的缓冲区和窗口关闭Vim,那:qa!也许是更好的选择。但是,在那种情况下,所有更改都将丢失。
克里斯蒂安·布拉班德

1

如果您使用的是Tmux,则可能已经安装了一些类似于“ vim”的绑定,以便在窗口窗格中四处移动,除其他外,在Vim有机会使用它之前,它们会抢占“ C- \”。如果是这样,请从您的设备中删除它们.tmux.conf并重新启动tmux:

bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
bind-key -T copy-mode-vi C-\ select-pane -l

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.