写代码的时候要用小键盘移动光标特别不方便,请问有没有工具能设置几个快捷键(如 Ctrl+I/K/J/L
)来实现上下左右移动光标的?
不想用 vim
和 Emacs
, 留恋于 CP.
使用 WindowsAPI
实现了一下,结果在 CP 里没有办法一个一个移动字符,会跳过一整个函数,如 printf|("twtakioi");
按一下就变成 |printf("twtakioi");
了。
代码如下,希望能改进或有现成的工具。
#include <Windows.h>
#include <stdio.h>
int main() {
while (1) {
short Ct = ::GetAsyncKeyState(VK_CONTROL), J = ::GetAsyncKeyState('J'),
I = ::GetAsyncKeyState('I'), L = ::GetAsyncKeyState('L'),
K = ::GetAsyncKeyState('K');
if (Ct) {
// printf("0x%x", a);JLJ
if (J)
keybd_event(37, 0, 0, 0), keybd_event(37, 0, 2, 0);
else if (I)
keybd_event(38, 0, 0, 0), keybd_event(38, 0, 2, 0);
else if (L)
keybd_event(39, 0, 0, 0), keybd_event(39, 0, 2, 0);
else if (K)
keybd_event(40, 0, 0, 0), keybd_event(40, 0, 2, 0);
Sleep(80);
}
}
}