레지스터를 사용하는 하나의 인스턴스 만 CtrlR*클립 보드에서 텍스트를 붙여 넣는 것입니다.
레지스터의 다른 용도는 무엇입니까? 그것들을 사용하는 방법?
VI 레지스터에 대해 알고있는 모든 것 (vi 7.2에 중점을 두자)은 우리와 공유하십시오.
답변
Vim의 레지스터를 사용하면 저장된 텍스트에 대해 동작이나 명령을 실행할 수 있습니다. 레지스터에 액세스하려면 "a
명령 앞에 입력하십시오 . 여기서 a
레지스터 이름입니다. 현재 줄을 register에 복사하려면 k
다음을 입력하십시오.
"kyy
또는 대문자를 사용하여 레지스터에 추가 할 수 있습니다
"Kyy
그런 다음 문서를 이동하여 다음을 사용하여 다른 곳에 붙여 넣을 수 있습니다.
"kp
Linux의 시스템 클립 보드에서 붙여 넣기
"+p
Windows의 시스템 클립 보드 또는 Linux의 “mouse highlight”클립 보드에서 붙여 넣기
"*p
현재 정의 된 모든 레지스터 유형에 액세스하려면
:reg
답변
0
레지스터를 발견했을 때 나는 기뻤습니다 . 특정 레지스터에 텍스트를 할당하지 않고 텍스트를 잡아 당기면 0
기본 "
레지스터 에 저장 될뿐만 아니라 레지스터에 할당됩니다 . 0
및 "
레지스터 의 차이점은 0
양각 텍스트로만 채워지는 반면 기본 레지스터는 d
/ D
/ x
/ X
/ c
/ C
/ s
/ S
명령을 사용하여 삭제 된 텍스트로 채워집니다 .
텍스트를 복사하고 삭제하고 복사 한 텍스트로 바꾸려는 경우에 유용합니다. 다음 단계는 예를 보여줍니다.
- 복사하려는 텍스트를 Yank하십시오
y[motion]
-이 텍스트는 저장"
되고0
등록됩니다 - 바꾸려는 텍스트를 삭제하십시오
d[motion]
-이 텍스트는"
레지스터에 저장됩니다 - 구부러진 텍스트를
"0p
"
다음 명령에 레지스터를 사용하는 명령은 어디에 있습니까 ?
마지막 단계에서을 사용하여 기본 레지스터에서 붙여 넣으 p
려면 방금 삭제 한 텍스트 (아마 의도하지 않은 텍스트)가 사용됩니다.
참고 p
또는 P
기본 레지스터에서 붙여 넣습니다. 이에 상응하는 Longhand는 ""p
(또는 ""P
)이고 "0
마지막 yank를 "1
보유하고, 마지막 삭제 또는 변경을 보유합니다.
자세한 내용은을 참조하십시오 :help registers
.
답변
레지스터에서 가장 좋아하는 부분 중 하나는 매크로로 사용하는 것입니다!
탭으로 구분 된 값 파일을 다음과 같이 처리한다고 가정 해 봅시다.
ID Df %Dev Lambda
1 0 0.000000 0.313682
2 1 0.023113 0.304332
3 1 0.044869 0.295261
4 1 0.065347 0.286460
5 1 0.084623 0.277922
6 1 0.102767 0.269638
7 1 0.119845 0.261601
이제 % Dev 필드 끝에 백분율 기호를 추가해야한다고 결정합니다 (두 번째 줄부터 시작). m
다음과 같이 (임의로 선택한) 레지스터 에 간단한 매크로를 만듭니다 .
-
누릅니다 :
qm
:m
등록에서 매크로 기록을 시작합니다 . -
EE
: 3 번째 열의 끝으로 이동하십시오. -
a
:이 열의 끝에 추가 할 삽입 모드. -
%
: 추가 할 퍼센트 부호를 입력하십시오. -
<ESC>
: 명령 모드로 돌아갑니다. -
j0
: 다음 줄의 시작으로 이동하십시오. -
q
: 매크로 기록 중지
이제 @m
현재 줄에서이 매크로를 실행하도록 입력 하면됩니다. 한층 더 @@
반복 해 입력 할 수도 있습니다 100@m
! 인생은 꽤 좋아 보인다.
이 시점에서 ” 하지만 대기자는 등록자와 어떤 관계가 있습니까?”
훌륭한 지적입니다. m
를 입력 하여 레지스터 내용에 무엇이 있는지 조사해 봅시다 "mp
. 그런 다음 다음을 얻습니다.
EEa%<ESC>j0
처음에는 실수로 메모장에서 이진 파일을 연 것처럼 보이지만 두 번째로 보면 매크로의 정확한 문자 시퀀스입니다!
당신은 호기심 많은 사람이므로, 흥미로운 것을하고이 텍스트 줄을 편집 !
하여 지루한 것 대신 삽입하십시오 %
.
EEa!<ESC>j0
그런 다음 n
을 입력하여 이것을 레지스터에 넣습니다 B"nyE
. 그런 다음 킥을 위해 …를 n
사용하여 데이터 라인 에서 매크로를 실행하십시오 @n
.
세상에, A 추가 !
기본적으로 매크로를 실행하는 것은 해당 매크로의 레지스터에서 정확한 키 시퀀스를 누르는 것과 같습니다. 그것이 멋진 등록 트릭이 아니라면 모자를 먹을 것입니다.
답변
다른 유용한 레지스터 :
"*
또는 "+
-시스템 클립 보드의 내용
"/
-마지막 검색 명령
":
-마지막 명령.
vim 매크로를 사용하면 매크로를 기록 할 때 사용되는 키 입력 목록 일 뿐이므로 편집 할 수 있습니다. 따라서 "ap
매크로 a 를 작성 하는 데 사용하는 매크로를 텍스트 파일 에 쓰고 편집 한 다음로 레지스터에로드 할 수 있습니다 "ay$
. 유용한 매크로를 저장하는 좋은 방법입니다.
답변
블랙홀 레지스터 _
는 IS /dev/null
레지스터.
기본 레지스터를 업데이트하지 않고 단일 문자를 삭제할 수 있도록 vimrc에서 사용합니다.
noremap x "_x
기본 레지스터를 업데이트하지 않고 시각적 모드로 붙여 넣습니다.
vnoremap p "_dP
답변
ex-mode 명령에 레지스터 내용을 붙여 넣으려면를 누르십시오 <C-r><registerletter>
.
왜 이것을 사용 하시겠습니까? 검색을하고 긴 문자열을 바꾸고 싶었으므로 시각적 모드에서 선택하고 검색 / 바꾸기 표현식을 입력하기 시작했으며 :%s/[PASTE YANKED PHRASE]//g
하루를 보냈습니다.
ex 모드에서 한 단어 만 붙여 넣으려면 ex 모드로 들어가기 전에 커서가 커서에 있는지 확인한 다음 <C-r><C-w>
ex 모드에서 단어를 붙여 넣으십시오.
답변
비밀 전문가 레지스터는 표현식 = 레지스터라고 생각합니다. 광고 소재 매핑에 사용할 수 있습니다.
:inoremap \d The current date <c-r>=system("date")<cr>
위와 같이 시스템과 함께 사용하거나 맞춤형 VimL 기능 등으로부터 응답을 얻을 수 있습니다.
또는 그냥 임시 같은 것들
<c-r>=35+7<cr>