gpt4 book ai didi

vim - 如何解决在 Vim 中切换不同语言的键盘布局的烦恼?

转载 作者:行者123 更新时间:2023-12-04 01:57:37 25 4
gpt4 key购买 nike

事情就是这样。我有两种键盘布局,“HR”(克罗地亚语,我的母语)和“EN”(英语)。好吧,实际上我还有一些,但目前它们并不重要。
在使用 Vim 时,我经常不得不切换到“EN”——因为在“HR”上我都没有 [ , ] , 也不是 { , } ,也不是很多其他字符——然后切换回“HR”来获取我自己的语言字符。这是一种痛苦。
当然,由于我在没有任务栏的情况下工作,这通常会导致浪费
Shift 键按下。
Vim 中有没有办法“检测”一个键盘布局集,评估它,然后把它放在状态行中?
我尝试过重新映射一些键(比如 tilda 到反引号),但这只会带来很多全新的问题。
对此(此处未考虑)的所有建议将不胜感激。

最佳答案

Vim 中有一种系统的语言相关键重映射方法
即通过以下方式一次配置整个范围的映射
设置 keymap选项。它允许定义之间的映射
英文键盘布局的字符和对应的非英​​文字符
该布局的字符(见 :help mbyte-keymap )。译文
仅在解释用户键入的情况下发生
作为文本输入,而不是调用任何类型的 Vim 命令。这
适用于插入、替换和命令行模式,以及
输入搜索模式或单字符参数f , t , r命令等。

在所有上述上下文中,除了未决字符
参数,切换 keymap 中指定的键映射的使用
选项由 Ctrl+^ 执行
(Ctrl+6) 击键。 (见 :help i_^^:help c_^^ .) 如上所述,启用的键盘映射仅影响
文字输入;正常模式下的键盘行为保持不变
无论当前的语言映射如何。这样,当一个人离开
插入模式写在非英文keymap中,他们可以立即使用
普通模式命令和键绑定(bind),无需切换键盘
布局。返回插入模式将输入切换到键盘映射
上次离开时​​使用过(键盘映射处于事件状态的事实
存储在 iminsert选项)。

但是,不会记住键映射的状态
默认命令行模式,因为它被认为方便
每次都开始输入英文,因为 Ex 命令的名称是
全部为 ASCII。要否定该行为,请使用命令

:set imcmdline

键入搜索模式时语言映射是否处于事件状态
(对于 /? 命令)通过 imsearch选项。同步切换语言的使用
用于输入搜索模式和在缓冲区中插入文本的映射,
相应地设置选项:
:set imsearch=-1

大约十几个半没有几个预定义的键盘映射
语言。通常,一种语言由多个映射支持,这些映射
它们的设计用途因编码或键盘布局而异
和。可以使用 :e $VIMRUNTIME/keymap 在 Vim 中浏览它们。 .
为了启用特定的键盘映射,设置 keymap该映射名称的选项。例如,以下
命令更改 keymap到内置的 UTF-8 克罗地亚语映射。
:set keymap=croatian_utf-8

如果您想自定义现有的键盘映射或创建全新的
一、查看 :help keymap-file-format的keymap文件格式.

将上述命令放入 .vimrc文件让您激活
在所有缓冲区中指定的键盘映射。尽管如此, keymap选项是
更强大,因为它是本地缓冲区,这意味着各种
键盘映射可以同时在不同的缓冲区中使用
取决于设置(可能会受到文件类型的影响
使用自动命令)。

关于vim - 如何解决在 Vim 中切换不同语言的键盘布局的烦恼?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com