
# When I do just Shift-Insert, I get
~$ 2~
# When I do Ctrl-V, then Shift-Insert, I get
~$ ^[[2;2~
Shift-insert는 Windows CMD 또는 Git-Bash와 같은 다른 상황에서도 잘 작동합니다.
wsl에서는 Ctrl-Shift-V를 사용하여 붙여넣을 수 있지만 Shift-삽입을 선호합니다.
해결 방법이 있습니까?
답변1
에 따르면마이크로소프트/WSL:
WSL 배포판은 Windows 콘솔에서 시작됩니다(타사 콘솔/터미널을 시작하는 단계를 수행하지 않은 경우). 따라서 UI/UX 관련 문제는윈도우 콘솔이슈 트래커.
그러나 주어진 링크는윈도우 콘솔~를 가리키다윈도우 터미널:
새로운 Windows 터미널과 원래 Windows 콘솔 호스트가 모두 같은 장소에 있습니다!
(사용 가능한) 문서가 없으므로 소스 코드를 가리켜 질문에 답해야 합니다.
(연습하려는) 관련 청크는 여기 있습니다.windowio.cpp
:
// handle shift-ins paste
if (inputKeyInfo.IsShiftOnly() && ShouldTakeOverKeyboardShortcuts())
{
if (!bKeyDown)
{
return;
}
else if (VirtualKeyCode == VK_INSERT && !(pSelection->IsInSelectingState() && pSelection->IsKeyboardMarkSelection()))
{
Clipboard::Instance().Paste();
return;
}
}
조건의 절반(이에 도달하기 위한 Paste()
)이 충족될 가능성이 있는 것으로 보입니다(일부 제외).벌레이 프로그램에서는). 눈에 띄지 않는 것:
ShouldTakeOverKeyboardShortcuts()
— 그러나 이것은 다음에서 사용됩니다.Ctrl+Shift+더하기/빼기암호pSelection->IsKeyboardMarkSelection()
— 선택에 마우스가 사용되었다고 가정합니다.
HandleKeyEvent
하지만 이는 이 방법이 두 개의 서로 다른 키 시퀀스를 동일하게 처리한다고 가정합니다 . ^[[2;2~
는 프로그램의 다른 부분인 에서 가져온 것 입니다 terminalInput.cpp
.내장 테이블
// Sequences to send when a modifier is pressed with any of these keys
// Basically, the 'm' will be replaced with a character indicating which
// modifier keys are pressed.
static constexpr std::array<TermKeyMap, 22> s_modifierKeyMapping{
그리고여기에 적용:
// If a modifier key was pressed, then we need to try and send the modified sequence.
if (keyEvent.IsModifierPressed() && _searchWithModifier(keyEvent, senderFunc))
{
return true;
}
코드를 읽어보면 이것이 전부인 것 같습니다.상류논리 에서 windowio.cpp
해당 조합에 도달할 수 없습니다. 개발자는 이 동작을 재정의하거나 수정할 수 있는 방법을 제공하지 않았습니다.
@Rody-Oldenhuis의 의견에서 제안한 대로:
당신이 사용할 수있는엉엉; 이는 기본적으로 Ctrl+Ins/Shift-Ins를 지원합니다.
(mintty에서 파생됨)
답변2
다음을 사용하여 WSL을 실행하는 경우윈도우 터미널, Shift-Insert는 즉시 붙여넣기 기능을 사용할 수 있습니다. (그리고 예상대로 Ctrl-Insert는 복사에도 작동합니다)
답변3
Shift+Insert를 사용하여 붙여넣기를 원하는 이유나 다시 매핑하는 방법을 잘 모르겠지만 기본 붙여넣기는 마우스 오른쪽 버튼을 클릭하는 것만큼 간단합니다.