您当前的位置: 首页 >  vim

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ssh中远程vim自动切本地输入法

ITKEY_ 发布时间:2022-01-05 23:00:00 ,浏览量:0

简介

SshIM 是一个解决ssh中使用vim/nvim 中文输入法自动切换插件。

原理:当ssh中使用的vim 进入insert模式或者离开insert模式,都会触发一个事件。当触发事件以后,通过http的方式通知我们的电脑,我们的电脑会自动切换英文输入法,或者切换中文输入法。 项目地址: https://github.com/lxyoucan/sshim.vim

插件安装

这里以packer为例,packer插件管理器安装方法: 修改~/.config/nvim/lua/plugins.lua文件,并增加如下内容:

 -- ssh远程vim自动切换本地输入法
 use "lxyoucan/sshim.vim"

:wq退出重新打开nvim后,执行:PackerInstall 安装。

服务器端

这里提供一个思路,不同的操作系统和输入法框架在输入法切换这块是不同的。 精力有限,我这里提供的服务器仅支持macOS系统。其他操作系统理论上也可以。

简明教程

测试环境:macOS Big Sur 版本11.4 Intel版本 解压ssh远程vim切换本地输入法工具macOS版20220105(自带JRE推荐非Java开发人员使用).zip 此文件下载,点这里

首次使用,请自行修改./startDing.sh文件中的imchangerdemo1,修改成一个不会与大家重复的字符串,如果出现重置就会穿透失败。随便写一个长点的字符串一般没有什么问题。

然后执行

./startALL.sh

根据提示查看一下ding的日志,如下:

#根据自己的路径调整
tail -f /Users/itkey/inputMethodChanger/./ding/catalina.out

日志大概如下: [16:07:14 CST 2022/01/05] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [client] Authenticated with server, client id: fe081dcb966481f101c57e97e82d5fa3 [16:07:14 CST 2022/01/05] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [client] Tunnel established at http://imchangerdemo1.vaiwan.com [16:07:15 CST 2022/01/05] [INFO] (ngrok/log.Info:112) No update available

其中http://imchangerdemo1.vaiwan.com部分就是内网穿透的地址,可以在外网访问你的本地输入法切换服务器,就是通过这个地址来切换输入法。

配置
"服务器端地址,形如:http://localhost:8088 最后一个字符不要带/
let g:sshim_url = 'http://localhost:8088'
"0启用插件,1禁用插件,默认为0 
let g:sshim_disable = 0

当你使用宏的时候,或者出现短时间内频繁 insert 与normal模式切换的时候,可以通过let g:sshim_disable = 1来禁用输入法切换插件来提醒执行效率。

实现原理
  • 从insert模式切换到normal模式插件会自动请求服务器的/insertLeave地址
  • 从normal模式切换到insert模式插件会自动请求服务器的/insertEnter地址

服务器部署在你正在使用的电脑上面,这样你的电脑就能接收到当前的vim状态了,根据这个状态通过一些工具来切换本地的输入法即可。

灵感

https://github.com/ybian/smartim

关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0370s