跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[Apple] mac 上 ideavim 最简单的中英文切换方式

发表于

昨晚在 idea 上安装那个 IdeaVimExtension 打算自动切换输入法,发现无论怎么设置都不起作用,想找源码改改吧,最关键的代码又是 dylib,看不了,怀疑是我只有系统输入法的原因,搞了一晚上想想还不如自己搞个简单的.

其实关键就两步:1 、检查当前输入法是哪个 2 、切换输入法;

检查可以用 defaults read 来判断:

[[ $(defaults read ~/Library/Preferences/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID) =~ com.apple.keylayout.ABC ]]

切换我就用 AppleScript 模拟快捷键切换

jRxTHTP.png c.png

然后在 ideavimrc 中添加映射:

" 解决 esc 后光标左移的问题,自动切换输入法; 这是 ideavim 的写法,因为 ideavim 不支持 autocmd 命令,原生 vim 中可以用 autocmd
inoremap <silent> <Esc> <Esc>`^:!/Users/logan/.input-source-vim/toggle-normal.sh<CR>
nnoremap <silent> i :!/Users/logan/.input-source-vim/toggle-insert.sh<CR>i
nnoremap <silent> I :!/Users/logan/.input-source-vim/toggle-insert.sh<CR>I
nnoremap <silent> o :!/Users/logan/.input-source-vim/toggle-insert.sh<CR>o
nnoremap <silent> O :!/Users/logan/.input-source-vim/toggle-insert.sh<CR>O
nnoremap <silent> a :!/Users/logan/.input-source-vim/toggle-insert.sh<CR>a
nnoremap <silent> A :!/Users/logan/.input-source-vim/toggle-insert.sh<CR>A

默认功能:返回 normal 模式时自动切换输入法为英文

附加功能:当执行了 touch "$HOME/.input-source-vim/data" ,会启动 insert 模式下上一次的输入法的记录

代码主要针对于对 vim 脚本支持不够的 ideavim,原生 vim 中不用映射,直接用 autocmd; 也不用文件来存储上一次插入模式的输入法,可以直接用 vim 脚本的全局变量

仓库 : https://github.com/loganoxo/input-source-vim.git

Featured Replies

No posts to show

创建帐户或登录来提出意见

Account

导航

搜索

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.