1

我在 ubuntu 12.10 上使用 vim (v7.3) 和 guake 终端作为 Octave DE。

如果我想停止一个进程,我可以转到终端并按 ctrl-c。我想通过 vim 中的重新映射来做到这一点。

现在,如果我在 vim 中输入序列

:!guake -e "^C"

(其中 ^C 表示文字字符序列“ctrl-v ctrl-c”)停止命令被发送到 guake 终端,就好像我在焦点位于终端时按下 ctrl-c 一样。但是,当我尝试将键重新映射到 .vimrc 中的上述序列时,如下所示:

nnoremap <leader>w :!guake -e "^C"<cr>

它似乎不起作用。当我按 ,w (“,”是我的领导)时,什么也没有发生。我怀疑 ^C 命令被 vim 解释为中止字符序列,就好像我输入了

:!guake -w "

然后用 ctrl-c 中止。

是否可以以我尝试的方式包含 ^C 字符(我相信 ascii 0x03)?

如果没有,关于替代方案的任何建议?

4

1 回答 1

0

只需将相同的键(以 Vim 的表示法)传递给映射,然后以交互方式按下它们:

:nnoremap <leader>w :!guake -e "<C-v><C-c>"<cr>
于 2013-03-14T13:34:35.430 回答