Shift-Insert를 사용하여 WSL에 붙여넣기

Shift-Insert를 사용하여 WSL에 붙여넣기
# 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-Insert를 사용하는 것이 더 좋습니다.

해결책이 있나요?

답변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를 지원합니다.

(민트에서 추출).

답변2

다음을 사용하여 WSL을 실행하는 경우윈도우 터미널, Shift-Insert를 사용하여 붙여넣기를 직접 사용할 수 있습니다. (예상할 수 있듯이 Ctrl-Insert도 복사에 작동합니다)

답변3

Shift+Insert를 사용하여 붙여넣는 이유나 다시 매핑하는 방법을 잘 모르겠지만 기본적으로 붙여넣기는 마우스 오른쪽 버튼을 클릭하는 것만큼 쉽습니다.

관련 정보