插入模式下可以选择文本吗?

问题描述 投票:0回答:1

我是 Neovim 的新手,我想使用 Shift+Left 和 Shift+Right 来选择文本,但我找不到任何插件/解决方案来实现这一点。

我想知道是否可以这样做。如果可以实现,我可以使用哪些工具/Lua 脚本来实现这一目标。或者,如果无法实现,您更喜欢选择文本的方式是什么?

我试图使用一些视觉模式键盘映射将其变成我想要的,但我就是无法使其工作。

neovim neovim-plugin
1个回答
0
投票
    {
        mode = { "i" },
        lhs = "<m-left>",
        rhs = "<c-o>v<c-g>",
        options = { silent = true },
        description = "Select previous word in insert mode",
    },
    {
        mode = { "s" },
        lhs = "<m-left>",
        rhs = "<c-g>h<c-g>",
        options = { silent = true },
        description = "Select previous word in insert mode",
    },

通过使用这两个映射,您可以使用

<meta> + <left>
(我的映射中使用了
<ctrl> + <g>
)在插入模式下选择文本。不过还有很多地方没有涉及到,比如无法在终端或者命令模式下使用。

此映射只是根据当前模式模拟击键。如果当前模式是插入模式

  1. 先按
    <ctrl-o>
  2. 暂时切换到正常模式
  3. 然后按
    v
    进入可视模式
  4. 然后按
    <ctrl-g>
    进入选择模式。

第二个映射与第一个映射类似...

这是一个非常基本的实现。如果有更好的实现方法,请指教~

顺便说一句,在插入模式下,我更习惯使用一些快捷键:

  1. <ctrl-w>
    删除光标之前的单词
  2. <ctrl-h>
    删除光标前的一个字符,如
    backspace
  3. <ctrl-u>
    清除线路
  4. ...,您可以使用
    :h i_<some-key>
  5. 找到更多信息
© www.soinside.com 2019 - 2024. All rights reserved.