CTRL-U 조합 이해


19

에서 대답은 내가 직면 CTRL-U한 후 함수 호출에 사용되는 :실제 함수 이름 앞에.

:nnoremap <buffer> <cr> :<C-U>call append('.', repeat([''],v:count1))<cr>

도움이 말하는 내용은 다음과 같습니다.

CTRL-U      Scroll window Upwards in the buffer.  The number of
            lines comes from the scroll option (default: half a
            screen).  If [count] given, first set the 'scroll'
            option to [count].

나는 그것을 직접 시도했고 내가 생각 한대로 작동했습니다. 그러나 나는 scroll옵션 에 대한 부분을 이해하지 못했습니다 . 그들은 무엇을 의미 'scroll' option합니까?

그리고 삽입 모드에서 이상한 일을합니다. 내가 이해하는 한 커서에서 줄의 시작 부분까지 모든 것을 삭제 한 다음 결과 줄과 위의 줄을 결합합니다.

답변:


27

기본적으로 도움말은 일반 모드에 적용되는 모든 매핑을 반환합니다. 일반 모드에서 <C-u> 수행 스크롤 위쪽으로,하지만 우린 관심에서가. 무엇을 보려면 게 아니에요 <C-u>커맨드 라인 모드, 또는에서와 cmode , 검색 (당신이 명령은 콜론으로 시작하는 입력 모드):h c_CTRL-u

                            *c_CTRL-U*
CTRL-U      Remove all characters between the cursor position and
        the beginning of the line.  Previous versions of vim
        deleted all characters on the line.  If that is the
        preferred behavior, add the following to your .vimrc: >
            :cnoremap <C-U> <C-E><C-U>

이것이 일반 모드 매핑에 유용한 이유를 이해하려면 제거하고, 같은 것을 입력 한 후 나타나는 것을보십시오 5:. 다음과 같이 보일 것입니다 :

:.,.+4

이것은 범위입니다

이제 타이핑을 시도 5:<C-u>하고 무엇이 나오는지 확인하십시오. 당신은 단지보아야한다

:

마찬가지로 시각 모드에서를 누르면 :범위가 삽입됩니다.

:'<,'>

그렇기 때문에 다음과 같은 매핑이 매우 자주 나타납니다.

nnoremap foo :<C-u>bar

또는

xnoremap foo :<C-u>bar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.