명령 줄 모드를 사용하여 어떻게 작업합니까?


10

항상 홈 위치에있는 동안 명령 줄 모드와 상호 작용하는 방법이 있습니까?

특히, 다음의 두 가지 동작은 번거롭기 때문에 손가락을 화살표 키로, 때로는 더 나쁜 마우스로 옮겨야합니다.

  1. 이동 : 일반적인 위치를 유지하면서 명령 행 모드에서 앞뒤로 이동할 수있는 방법이 있습니까?
  2. 명령 줄에 어떻게 복사하여 붙여 넣을 수 있습니까? 커맨드 라인 자체에서 다른 부분으로 또는 텍스트 또는 클립 보드로 복사하는 것을 의미합니다.

1
명령 행 창을 :q; 로 사용하면 둘 다 해결할 수 있습니다 . 이것은 새로운 "버퍼와 같은"창을 열어 hjkl이동, y
king 킹

1
@Carpetsmoker (당신은 q:맞습니까?) 알아두면 좋습니다! 나는 과거에 우연히 거기에 도착했지만 실제로 그것을 사용하는 것에 대해 생각하지 않았습니다. /그래도 작동하지 않는 것 같습니다 (검색).
Shahbaz

그렇습니다, 나는 q를 의미했습니다 : ... 나는 그것을 많이 사용하지 않았기 때문에 나는 당신에게 완전한 / 적절한 대답을 줄 수 없습니다 ...
Martin Tournoij

답변:


17

있다 명령 줄은 (당신이 알고있는), 그리고 거기에 명령 줄 창 (그냥 다른처럼 편집 할 수있는 특별한 버퍼의 명령 줄). 당신이 중 하나를 통해이 입력 <C-f>(도에 대한 명령 줄에서 /전용을 통해 일반 모드에서 직접 당신이 더 많은 "힘을 편집"의 필요성을 느낄 검색 등), 또는 q:, q/등 명령.

에서 이에 대해 자세히 알아보십시오 :help command-line-window.


4
<C-f>명령을 이미 반쯤 수행 한 후에 작동하므로 알고있는 것이 매우 유용합니다.
Shahbaz

1
동의한다; 는 :그것의 좋은 일반 모드로 다시 이동하지 않고 전환 할 수 있도록 나를 위해 거의 자동으로 제공됩니다.
Ingo Karkat

11

명령 줄 창 을 제공 하는 것 외에도 Vim은 명령 줄 모드에서 ( 화살표 키 사용 하지 않고) 명령 줄과 상호 작용할 수있는 몇 가지 제한된 기능을 제공합니다 .

운동

  • <ctrl-b> 커서를 명령 행의 시작 부분으로 이동
  • <ctrl-e> 커서를 명령 행 끝으로 이동

편집

  • <ctrl-h> 커서 앞의 문자를 삭제하십시오 (예 : 백 스페이스).
  • <ctrl-w> 커서 앞의 단어를 삭제
  • <ctrl-u> 커서에서 명령 행의 시작 부분까지 완전히 삭제

물론 다른 프로그램의 탐색 키:cnoremap 를 에뮬레이트하기 위해 명령 줄 매핑을 추가 할 수도 있습니다 . 또는 사실상 표준 Readline 바인딩을 사용 하려면 Tim Pope의 RSI 플러그인 을 설치하십시오 .

붙여 넣기

레지스터를 <ctrl-r>지정하는 문자를 눌러 커서 위치의 명령 행에 레지스터의 내용을 붙여 넣을 수 있습니다 . 예를 들어 <ctrl-r>, +클립 보드의 내용을 명령 줄에 삽입합니다. <ctrl-r>, ""이름없는"레지스터의 내용 (예 : 마지막 삭제 또는 yank의 내용)을 삽입합니다.

:help cmdline.txt위의 모든 내용에 대한 자세한 내용을 참조하십시오 .


1
대박! <ctrl-r>특히 유용합니다.
Shahbaz

예, ^R매크로 에도 사용 했습니다. 매크로가있는 동안 파일의 일부를 잡아 당기고 나중에 매크로가있는 동안 긴 Ex-mode 명령에서 yanked 부분을 사용하여 텍스트를 매우 까다롭게 조작 할 수있게했습니다 ^R. :)
와일드 카드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.