我是一个狂热的vim用户,并且最近开始编写一些SQL代码.我喜欢在CAPS中编写我的SQL语句,有时忘记切换CapsLock'关闭',然后在我意识到发生了什么之前,我会迅速对我的代码造成严重破坏.
到目前为止,我还没有找到任何方法来判断CapsLock键是否只是在看我的键盘(这需要我远离屏幕,我认为这是一个很大的延迟).
理想情况下,我希望vim在CapsLock"开启" 时自动更改我的背景颜色,但我愿意接受其他一些屏幕上的CapsLock状态指示作为妥协.
建议将小写字母映射到大写字母的人是在正确的轨道上,但我们需要添加更多细节.诀窍是将SQL关键字映射到大写.然后你可以用小写字母输入它们,vim会把它们转换成大写字母.这是使用缩写而不是映射完成的.例如,如果您创建缩写
:iab ATT American Telephone and Telegraph
然后,每当您在代码中键入"ATT"时,只要您点击空格键,Vim就会自动将其翻译为"美国电话和电报".(试试吧!很有趣!)
因此,创建一个新文件并开始输入所有SQL关键字的缩写.
iab select SELECT iab like LIKE iab where WHERE ...
由于您只想在编辑SQL源时应用这些缩写,因此请将此文件保存到〜/ .vim/after/ftplugin/sql.vim当Vim检测到已打开SQL文件时,将执行此文件中的命令.
文件类型检测仅在您打开时才有效,因此请确保您的.vimrc包含以下行:
set nocompat filet detect plugin on
一旦你完成这项工作,你应该节省时间,并且不必一直按住shift键来减少腕管!