Когда я нажимаю в командной строке, он просто выбирает символ, который нажимаю, и оставляет курсор там, где он находится. Я только, кажется, могу перемещать курсор с помощью клавиатуры. Как использовать мышь, чтобы переместить курсор туда, где я щелкаю?
2 ответа
Консоли могут быть довольно запутанной темой. Краткий ответ: cmd.exe, запускаемый из ванильной консоли Windows, не поддерживает это, но вы можете использовать более продвинутое приложение, такое как ConEmu, которое поддерживает его.
Важно помнить, что "Консоль" относится только к части графического интерфейса. Когда вы запускаете "консольное приложение" (так называемое текстовое приложение), такое как командная строка (cmd.exe
), Powershell (powershell.exe
) или VIM без графического интерфейса для Windows (vim.exe
), окно консоли автоматически открывается, чтобы позволить текстовое взаимодействие с программой. ConEmu даже, кажется, реализует протокол мыши xterm (который является просто дополнительным набором последовательностей специальных символов), чтобы вы могли использовать мышь для взаимодействия с VIM.
Кроме того, старая Virtual Dos Machine по-прежнему доступна во всех 32-разрядных версиях Windows, включая Win 10, поэтому приложения DOS с поддержкой мыши должны работать «из коробки».
Изменить: некоторая дополнительная информация:
Отказ от ответственности: лично я не беспокоюсь о ConEmu, так как cmd.exe + clink или mintty работают достаточно хорошо для меня, и я не очень хорошо знаком с Win32 API, caveat emptor.
Сказав это, кажется, что сборка VIM с текстовым интерфейсом для Windows вполне способна обеспечить поддержку мыши из стандартной консоли, предположительно, с помощью Win32 API. Исходя из этого, мы можем сделать вывод, что cmd.exe может обеспечить аналогичную функциональность и что неиспользование не является ограничением стандартной консоли Windows как таковой.
Командная строка Windows поддерживает только мышь для выбора и меню (щелчок правой кнопкой мыши). Вы можете перемещать курсор с помощью клавиш со стрелками.
Вы также можете прочитать это для более быстрого перемещения курсора.