【问题标题】:vim mapping not working with slimv pluginvim 映射不适用于 slimv 插件
【发布时间】:2012-09-28 15:59:01
【问题描述】:

以下映射位于我的 .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 时,&lt;down&gt;&lt;up&gt; 在 REPL 中不起作用;但是,&lt;left&gt;&lt;right&gt; 可以正常工作。

从原始窗口中,我可以在所有四个方向上导航并进入 REPL 窗口。在 REPL 中,只有 &lt;left&gt;&lt;right&gt; 有效。 &lt;up&gt;&lt;down&gt; 导致在窗口内上下移动光标。

【问题讨论】:

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


    【解决方案1】:

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

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

    let g:slimv_repl_wrap=0

    这样 (以及其他一些)键将不会被重新映射。但请注意,长线不会被换行,只会显示它们的第一部分,您需要水平滚动屏幕才能查看其余部分。

    【讨论】:

    • 哦,哇,这是我使用的东西的作者第一次回答我的一个问题。到目前为止,我认为在 REPL 中丢失换行不是问题。我将 textwidth 设置为 79,并且可以格式化输出。您的插件对于开始使用 lisp 非常有帮助,并且包含的​​ doc 文件看起来非常全面。谢谢塔马斯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2018-01-03
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    相关资源
    最近更新 更多