커서가 놓인 단일 문자를 어떻게 잡아 당길 수 있습니까 (복사)?


49

물건을 복사하는 많은 방법을 알고 있습니다.

yiw= 현재 단어의
yawyank = 모든 단어 yank (후행 공백 포함)
yy = 현재 줄
3yyyank
yap= 현재 한 줄에서 시작하는 세 줄 yank 모든 단락 yank (마지막 줄 바꿈 포함)

단일 문자를 삭제하거나 변경할 수도 있습니다.

x= 커서 아래에있는 문자를 삭제
r커서 아래에있는 문자를 대체 =

그러나 세계에서 커서 아래에 단일 문자를 어떻게 복사합니까?

내 동기는 내가 Perl 6에서 프로그래밍하고 있으며 일부 연산자는 유니 코드 문자라는 것입니다. 예를 들어 tadzik의 Perl 6 Config :: INI 코드 를 사용자 정의 파서의 시작점으로 사용하고 있으며이 줄에서 해당 프랑스어 인용 문자 (하이퍼 연산자) 를 복사하고 싶었 습니다 .

my %hash = $<sections>».ast;

하이퍼 연산자의 두 문자 "Texas"버전을 사용할 수는 >>있지만 다음 과 같은 것보다 더 애매 모호 하다고 생각했습니다 >>>.

my %hash = $<sections>>>.ast;

여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오


1
평소와 같이 쉽게 모션으로 작업을 구성하십시오.yl
VanLaser

@VanLaser 좋은 생각이야! 나는 한 캐릭터 만 원했기 때문에 운동이 작동하지 않을 것이라고 생각했습니다. 그러나 귀하의 제안은 ASCII에 효과적입니다. 답변으로 게시하고 투표하겠습니다. 흥미롭게도이 유니 코드 문자로는 작동하지 않지만 ytX( " yank til X")은 X문자가 오른쪽에 있을 때 작동하는 것 같습니다 .
Christopher Bottoms

하나의 문자 conceal입니까 , 유니 코드이거나 Vim 기능을 사용하여 숨겨진 / 교체 된 두 개의 문자가 없는지 궁금 합니다.
VanLaser

@VanLaser 두 개의 "문자"처럼 보입니다.
Christopher Bottoms

BTW, »캐릭터를 어떻게 소개 합니까?
VanLaser

답변:


41

자주 사용되는 "한 문자를 오른쪽으로"모션을 사용하여 yank 작업을 구성하면 다음과 같이 작동 yl합니다.

BTW (OP 의견에 댓글을 달기 위해) »는 gVim 또는 터미널 Vim에서 이런 식으로 k 수 있습니다. 아마도 (파일) 인코딩 문제입니까?


4
Yanking »도 나에게 잘 작동합니다. 나는 vy단일 문자를 잡아 당기는 데 사용 합니다. 내가 아닌 왜 그것을 사용하는지 잘 모르겠습니다 yl. 어쩌면 의식적인 이유가 있었지만 이제는 반사 일뿐입니다.
jjaderberg

3
나는 항상 y<space>커서 아래에서 캐릭터를 잡아 당기고 있다고 생각했고, 그것을 답변으로 추가하려고했지만 도움을 확인한 후에 나는 깨달았 <space>으며 l같은 것입니다.
Brett Y

공간이 리더로 사용되는 경우를 제외하고는 멋지고 치기 쉽습니다.
VanLaser

1
@jjaderberg 난 당신의 의견을 좋아, 답변으로 게시하십시오. 감사!
Christopher Bottoms

1
@brettanomyces 난 당신의 의견을 좋아, 답변으로 게시하십시오. 감사!
Christopher Bottoms

14

일반적으로 vy( visual yank )를 누르고 때로는 xu( delete undo )도 누릅니다 . 또한 커서 대신 문자 앞에 커서를 잡아 당기려면 대신 대신를 lvy누를 수 있습니다 . 이것이 전류를 Xu누르는 이유라고 생각합니다 xu. :-)

그 주 Xu그 문자로 커서 이동을 할 것입니다.


당신은 의미 hvy합니다. 나는 그것을 편집하려고했지만 vim 명령에서 한 문자를 수정하는 것은 수용할만한 중요한 변화가 아닙니다.
Shahbaz

9

내가하는 가장 간단한 방법 x은 문자를 삭제하여 버퍼 P에 넣은 다음 다시 넣는 것입니다. 그런 다음 버퍼를 변경하지 않는 p한 커서 를 움직여 원하는 위치 (커서 뒤) 또는 P(커서 앞 )에 다시 붙여 넣을 수 있습니다 .

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