sublime在应用了vim模式时,如果你正在插入模式下编辑中文,然后要切换到命令模式,此时输入法状态还是中文输入法,如果你不切换到英文输入法,就不能正常输入命令。而每次要切换输入法又很不方便。此文可以帮助mac os 10.8用户解决这个问题。
首先下载附件中的changeInputMethod.m,这是一个objective-c程序,用来切换输入法的。
然后编译它
然后在sublime中安装Shell Turtlestein这个插件,
菜单中依次选择Sublime Text2-》Preferences -> Browse Packages...
打开Shell Turtlestein目录下的Shell_turtlestein.py,在文件尾部加入下面的代码并保存
然后菜单中选择Sublime Text2-》Preferences ->Key Bindings - User
在打开的文件中加入下面的键映射代码
注意下面"cmd"后面的路径要修改成你存放changeInputMethod的位置
done.
首先下载附件中的changeInputMethod.m,这是一个objective-c程序,用来切换输入法的。
然后编译它
name=changeInputMethod; gcc "$name".m -o "$name" -l objc -framework foundation -framework carbon
然后在sublime中安装Shell Turtlestein这个插件,
菜单中依次选择Sublime Text2-》Preferences -> Browse Packages...
打开Shell Turtlestein目录下的Shell_turtlestein.py,在文件尾部加入下面的代码并保存
class RunCmdAndExitInsertModeCommand(sublime_plugin.WindowCommand):
def run(self, cmd=None, wait=False):
cwd = cwd_for_window(self.window)
run_cmd(cwd, cmd, wait)
view = self.window.active_view()
view.run_command('exit_insert_mode')
然后菜单中选择Sublime Text2-》Preferences ->Key Bindings - User
在打开的文件中加入下面的键映射代码
注意下面"cmd"后面的路径要修改成你存放changeInputMethod的位置
{"keys": ["escape"], "command": "run_cmd_and_exit_insert_mode", "args": {
"cmd": "/path/to/changeInputMethod U.S.",
"wait": false
}, "context": [
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false },
{ "key": "setting.vintage_ctrl_keys" },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false}
]}
done.