背景

vi-mode 是一种高效的编辑方式,但是最令人头疼的莫过于在普通模式下输入命令的时候却被输入法挡住,对于我这种经常忘记切输入法的人来说非常痛苦。

为了解决这种问题,很早以前就有了 vim-scripts/fcitx.vim (for Vim)和 cute-jumper/fcitx.el (for Emacs)。利用插件和 fcitx

进行沟通,让输入法随着用户的需要自动改变。

但是 fcitx 是 Linux only 的,OS X 下无法使用。

fcitx-remote

是 fcitx 提供的一个命令行小工具,用于在命令行下控制输入以及获取输入法状态。早期版本的 fcitx.vim

和 fcitx.el 通过这个程序来和 fcitx 进行交互。于是我受到启发,如果在 OS X 下实现一个 fcitx-remote,和 fcitx

保持一致的使用方法, fcitx.vim 和 fcitx.el 就可以在 OS X 直接使用了。所以有了这个项目:CodeFalling/fcitx-remote-for-osx

安装

homebrew

homebrew 的 core repo 要求 30 天以上的 Github 项目才能加入,现在可以通过 brew tap

安装。brew tap codefalling/fcitx-remote-for-osxbrew install codefalling/fcitx-remote-for-osx/fcitx-remote-for-osx --with-baidu-pinyin

--with-baidu-pinyin表示百度拼音。

你可以使用 brew info codefalling/fcitx-remote-for-osx/fcitx-remote-for-osx来查看支持其他输入法的选项。

==> Options

--with-baidu-pinyin

Build fcitx-remote for osx with baidu-pinyin support

--with-baidu-wubi

Build fcitx-remote for osx with baidu-wubi support

--with-osx-pinyin

Build fcitx-remote for osx with osx-pinyin support

--with-qq-wubi

Build fcitx-remote for osx with qq-wubi support

--with-sogou-pinyin

Build fcitx-remote for osx with sogou-pinyin support

--with-squirrel-rime

Build fcitx-remote for osx with squirrel-rime support

手工安装

git clone https://github.com/CodeFalling/fcitx-remote-for-osx cd fcitx-remote-for-osx xcodebuild GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS CHINNESE_KEYBOARD_LAYOUT=@\"com.baidu.inputmethod.BaiduIM.pinyin\"' install

编译完成后可执行文件会被安装到 /usr/local/bin/fcitx-remote

构建指令看起来比较长,是因为要定制所用的中文输入法,对应输入法的 imname

可以在 Github 看到,如果表里没有你用的输入法,你可以先安装了fcitx-remote,然后用 fcitx-remote -n来获取当前的输入法名,欢迎以任何形式向我补充。

我使用的是百度拼音,如果你使用其他输入法,编译参数要做响应的修改。

二进制文件

Emacs

由于我自己是 emacs 用户所以先提 emacs, fcitx-remote可以和 cute-jumper/fcitx.el 配合使用, 但是不要使用 =(fcitx-prefix-keys-turn-on)= 和 =(fcitx-prefix-keys-setup)= (即不要直接使用 =fcitx-default-setup= 什么的),会导致 emacs 假死,原因不详。我自己使用的配置是

之前使用的时候会卡死,后来发现是因为我用的 fish-shell,在 emacs 的配置里加上一句 (setq shell-file-name "bash") ,问题就完美解决了。

Vim

本来以为 vim 是使用不了这个小工具的,但是后来发现老版本的 fcitx.vim同样使用 fcitx-remote,然后简单的修改下(不然会很卡),放在了CodeFalling/fcitx-vim-osx 。可以直接通过 vundle安装,这个版本也可以直接在 Linux 下使用。反馈使用中碰到任何问题,欢迎去 CodeFalling/fcitx-remote-for-osx 开 issue 或者直接评论。

linux vim输入法切换,完美解决Mac下Vim/Emacs的输入法切换问题相关推荐

  1. sed Linux并发报错,完美解决mac环境使用sed修改文件出错的问题

    sed是linux命令,用于处理文件内容(修改,替换等),mac中都可以使用,但发现相同的替换命令在linux可以正常执行,在mac则执行失败. 出错原因 用shell写了个更新Config/Conf ...

  2. Ubuntu 18.04下搜狗拼音输入法选词面板乱码问题(通过更换输入法版本完美解决,一劳永逸)

    Ubuntu 18.04下搜狗拼音输入法选词面板乱码问题(通过更换输入法版本完美解决,一劳永逸) 卸载已安装的搜狗拼音输入法 安装搜狗拼音输入法,注意版本 卸载已安装的搜狗拼音输入法 卸载已安装的输入 ...

  3. Linux下实现Mac下QuickSilver那样的一键切换程序(代替Alt-Tab键)

    以后用Linux桌面的机会越来越少了,估计过不了多久这个技巧就失传了,还是记下来吧 用Mac久了,根本不想再用别的操作系统,对我来说其中一个最大的理由就是有QuickSilver这样的好软件,能帮我一 ...

  4. js手机键盘遮挡_完美解决手机网页中输入框被输入法遮挡的问题

    之前要做一个弹出对话框,填写信息,发现在手机上看的时候,较后的输入框在填写信息时,输入框被输入法遮挡,只能盲填. 前提 1.弹出的对话框用display:fixed定位的 2.对话框大小固定 解决办法 ...

  5. mac下多个php版本切换(可操作版)

    mac下多个php版本切换(可操作版) 参考了多个文章,并且进行测试实践,总结了如下正确的操作方式 实践 适用版本: OS X Version: 10.12.3 (16D32) -------- Ho ...

  6. 解决Mac下npm权限问题

    解决Mac下npm权限问题 参考文章: (1)解决Mac下npm权限问题 (2)https://www.cnblogs.com/bfc0517/p/10186882.html 备忘一下.

  7. 解决mac下ssh空闲一段时间自动断开的问题

    解决mac下ssh空闲一段时间自动断开的问题 参考文章: (1)解决mac下ssh空闲一段时间自动断开的问题 (2)https://www.cnblogs.com/maoaji/p/7820287.h ...

  8. 解决MAC下MySQL忘记初始密码的方法

    解决MAC下MySQL忘记初始密码的方法分享给大家,供大家参考,具体内容如下 第一步: 点击系统偏好设置->最下边点MySQL,在弹出页面中,关闭服务 第二步: 进入终端输入:cd /usr/l ...

  9. 解决mac下的Sourcetree每次拉取提交都需要输入密码

    解决mac下的Sourcetree每次拉取提交都需要输入密码 最近重装了一次mac,并且重做了一下开发环境,结果以前的sourceTree项目的GIT密码始终保存不到Mac的钥匙串中,明明在钥匙串中是 ...

最新文章

  1. pandas.DataFrame删除/选取含有特定数值的行或列实例
  2. 2020-11-29(准备考试)
  3. 【论文解读】目标检测一卷到底之后,终于有人为它挖了个新坑|CVPR2021 Oral
  4. namespace mismatch错误处理方法
  5. 英雄联盟手游:大神开发提莫打野,伤害爆表,玩家纷纷效仿
  6. 深度CTR预估模型中的特征自动组合机制演化简史
  7. Leanote使用mysql_搭建个人Leanote云笔记
  8. 粗钢行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. WIN7下IIS的安装与配置
  10. 梦笔记20211017
  11. android最新adt下载地址,Android SDK和最新ADT下载地址
  12. AutoJS4.1.0实战教程 ---番茄免费小说
  13. ARM汇编寄存器和常用指令详解
  14. AI 智能修复老照片,效果惊艳到我了!| 附代码
  15. SAR ADC系列11:分段式CDAC
  16. nginx中绑定独立IP地址
  17. 使用深度学习的图像分割(综述)
  18. msvcr110.dll php,windows,_msvcr110.dll丢失,vcredist_x64.exe设置失败,windows - phpStudy
  19. 基于51单片机的篮球比赛计时器
  20. 测试使用 MySQL Community C/C++

热门文章

  1. 智慧语录(人生哲学)
  2. 数字功放-耐福NTP功放芯片详细性能概述
  3. websocket 客户端测试工具
  4. 全网最细MySQL数据库下载及安装教程
  5. Vue中使用echart实现中国地图统计图
  6. jasperReport:Eclipse-Ireport插件安装及基本使用
  7. 两种批处理方式(操作系统)
  8. 移动硬盘更改驱动器号和路径_如何在Windows 10中更改默认硬盘驱动器以保存文档和应用程序...
  9. 考研词汇(这些句子让你掌握7000个单词)
  10. 前端300道常见面试题,前端找工作必备