저는 최신 버전의 아치 리눅스 5.5.6-arch1-1에서 최신 버전의 vim 8.2.148을 사용하고 있습니다.
커서부터 문장의 문자까지 복사하려면 이렇게 할 수 있습니다. 예를 들어 이 문장에서 커서가 문장의 시작 부분에 있고 복사본의 c까지 복사하려면 다음을 수행합니다. yuc
"If I Want"를 복사하는 명령을 실행합니다 .
똑같이 잘 작동하는 또 다른 예는 문자열의 시작 부분에서 해당 문자열에 있는 "스크린샷"의 두 번째 인스턴스의 시작 부분으로 가져오는 것입니다.
/home/user/linux_config/script_yad/screenshots/change_screenshots_directory.sh
하지만 커서가 이 문장의 시작 부분에 있고 이 문장의 두 번째 인스턴스까지 끌어오고 싶다면 어떻게 해야 합니까?
yt2"sentence"
제 생각에는 그러한 명령 이 작동하지 않더라도 구조적으로는 이렇게 보일 수 있을 것 같습니다 .
분명히 문자 s를 사용하여 당기는 것은 만족스럽지 않습니다.
시각적 모드를 사용하지 않고 이를 달성하고 싶습니다.
플러그인이 필요합니까? 그렇다면 어떤 플러그인이 필요합니까?
플러그인 없이도 할 수 있나요? 달성하는 방법?
답변1
당신은 그것을 사용할 수 있습니다 :
y2/screenshot<CR>
또는 더 간단하게는 다음과 같습니다.
y2/screen<CR>
두 번째 단어 "스크린샷"이 같은 줄에 나타날 때까지 커서 위치에서 끌어옵니다.
( <CR>
이것은 검색을 완료하려면 "Return" 키를 누르는 것을 의미합니다.)
증분 검색 강조 표시( )를 활성화하면 set incsearch
Vim이 두 번째 일치 항목을 강조 표시하는 것을 볼 수 있습니다.
이 작업을 다음과 혼동하는 것 같습니다.특징모션을 한 문장으로 구성하세요. 작업 t
("until"의 경우 it's t
및 not u
)에는 문자 하나만 필요합니다. 동일한 위치로 당기는 또 다른 방법은 이지만 , "스크린샷"의 두 번째 인스턴스 시작 부분에 있는 것이 줄의 여섯 번째 인지 확인하려면 문장에서 y6ts
계산해야 합니다 . (이것을 도와주는 플러그인이 있습니다.)s
s
/
t
검색( , 또는 작업 과 반대)을 사용할 f
때 몇 가지 주의 사항이 있습니다. 검색을 통해 다른 줄에서 일치하는 항목을 찾을 수 있기 때문입니다. 이런 일이 발생하면 이제 복사 작업 T
에서 개행 문자가 포함된 콘텐츠를 얻게 됩니다. 붙여넣을 때 놀라울 수도 있습니다. 나중에 예상치 못하게.F
/
마지막으로, 시각적 모드를 사용하는 것은 시각적 피드백을 얻고 사용하려는 작업이 명확하지 않거나 더 많은 유연성이 필요할 때 작업 선택을 조정할 수 있는 좋은 방법입니다.
예를 들어, 두 번째 "스크린샷"(5회가 됨)에 도달할 때까지 작업을 시작한 vts
다음 를 눌러 작업을 반복할 수 있습니다. 강조 표시 없이 여섯 번째 스크린샷을 세는 것보다 쉽습니다! ;
거기에 도달하면 눌러서 y
빼내기만 하면 됩니다.
또는 v/screen<CR>
, 이것이 다음 문자라는 것을 알고 를 누르면 n
첫 번째 문자가 s
선택되어 있음을 확인하고 를 눌러 h
오른쪽으로 한 번 이동한 다음 y
잡아당깁니다.
(귀하의 의견에 대한 응답: 제 생각에는 위의 시각적 모드 솔루션이 마우스를 사용하는 것보다 낫습니다. vts;;;;;y
9개의 키 입력이 필요하지만 그 중 5개가 동일한 키에 있습니다. 또한 손이 키보드에서 떠나지 않았습니다. 그리고 번호를 매길 필요가 없습니다. (반대로, 선택하기 전에 시각 보조 자료로만 셀 수 있습니다.)
이러한 움직임에 도움이 될 수 있는 플러그인을 살펴보고 싶다면,vim-easymotion고려해 볼만한 좋은 질문이다.