vim映射不能使用slimv插件

时间:2012-10-08 11:46:24

标签: vim lisp read-eval-print-loop swank slimv

以下映射位于我的.vimrc中,用于在使用以下命令创建的垂直拆分窗格之间快速导航:vsp和拆分窗格创建时间:sp。

" Smart way to move between windows
map <up> <C-w><up>
map <down> <C-w><down>
map <left> <C-w><left>
map <right> <C-w><right>

这似乎与slimv插件不太匹配。当我按,c在水平拆分窗格中打开REPL时,<down><up>在REPL中不起作用;但是,<left><right>按预期工作。

从原始窗口我可以在所有四个方向导航到REPL窗口。从REPL开始,只有<left><right>有效。 <up><down>导致在窗口内上下移动光标。

1 个答案:

答案 0 :(得分:2)

Slimv尝试通过设置Vim的wrap选项来模拟REPL缓冲区中的控制台输出。这样,比textwidth更长的行将显示在多个屏幕行中。 Vim的光标移动键(j,k,&lt; Down&gt;,&lt; Up&gt;)通常用缓冲线而不是屏幕线来定位光标。 Slimv通过重新定义这些光标键(例如'k'到'gk','j'到'gj')模拟屏幕线光标移动。

您可以通过将此行添加到wrap来禁用Slimv中REPL缓冲区的.vimrc选项:

let g:slimv_repl_wrap=0

这种方式&lt; Up&gt;和&lt; Down&gt; (和其他一些)键不会被重新映射。但请注意,长线不会被包裹,只会显示它们的第一部分,你需要水平滚动屏幕以查看其余部分。