나는 방금 vi에 마커의 존재를 발견했다. 당신은 어떻게 그것을 사용합니까, 당신은 그들에 대해 무엇을 알고 있습니까? C++ 개발자에게 유용할까요?vi에서 마커를 어떻게 사용합니까?
답변
내가 그들에게 모든 시간을 사용
- 코드 블록을 주석,
- 복사 및 코드의 이동 블록,
- 확 잡아 당기는와라는 이름의 버퍼에 코드 블록을 삭제하고,
- 편집 : 테스트 블록으로 대체.
주석 처리 :
- 당신이 주석 처리 할 코드의 첫 번째 라인으로 이동,
- 마르크이, 예를 들면,
ma
- 는
- 이
:'a,.s/^/#
입력 블록의 끝으로 이동 입력 (또는 당신이 무엇을해야 주석 문자)
복사 및 이동 : 위와
- 마르크 첫 번째 줄,
- 복사/이동하려는 블록의 맨 아래로 이동
- 다른 두 번째 마커를 입력하십시오.
mb
- 블록을 복사하려는 위치로 이동하고
:'a,'bco .
또는:'a,'bmo .
을 입력하여 resp를 복사하거나 이동하십시오. 당신이 - 버퍼 a 또는
:'a,.ya A
에 블록을 꺼낼 것이다:'a,.ya a
를 입력 꺼낼하려는 블록의 아래로 내려 가서 - 위와
- 마르크 첫 번째 줄 : 명명 된 버퍼에 그랬다
버퍼의 현재 내용에 블록을 추가합니다.
편집 : 텍스트 블록에 대입 :
- 마르크 첫 번째 줄은 위와 같이,
- 당신이
- 에 대체 할 블록의 아래로 내려 가서 입력 텍스트 블록에 subtitute 것
:'a,.s/search_string/replace_string/[gc]
을. 마지막 슬래시 뒤에 'g'또는 'c'를 추가하면 일반적인 전역을 호출하고 기능을 확인할 수 있습니다.
편집 :이 'a
(아포스트로피가) 마커 및 `a
(역 따옴표가) 당신이 표시된 줄에 문자를 참조를 포함하는 행을 의미 기억, 말을 잊어 버렸습니다.
그래서 `ad`b
(bactic-A-D-backtic-B)를 (B)로 표시된 'A'숯 까지 전에 문자로 표시된 문자의 라인의 텍스트를 삭제하는 유용한 작은 조각이다.
Vim에서 :reg
을 입력하면 모든 레지스터의 내용을 알 수 있습니다. 귀하의 삭제 레지스터.
대용량 파일로 이동할 필요가있을 때 사용합니다. 예를 들어 필자가 파일의 위쪽에 정의 된 함수와 맨 아래에 정의 된 함수라는 두 가지 상호 작용하는 함수에서 작업 할 경우 마커를 설정하여 두 위치간에 신속하게 이동할 수 있습니다.
클래스를 선언했거나 익숙하지 않은 선언으로 작업하는 경우 빠른 참조를 위해 뒤로 건너 뛸 수 있도록 처음에 설명 된 부분을 표시하는 것이 도움이됩니다.
마커는 일반적으로 유용하지만 C++로 개발 중이기 때문에 더 이상 (또는 덜) 유용하다고 생각하지 않습니다.
이들은 몇 가지 아이디어 일뿐입니다. 다른 많은 좋은 아이디어가있을 것입니다.
가장 일반적인 용도는 큰 블록을 복사하여 붙여 넣기 또는 삭제하는 것입니다. 블록의 첫 번째 줄로 이동하십시오. mx
블록의 마지막 줄로 이동하여 전체 블록을 복사하려면 (클립 보드) y'x
을 입력하고, 블록을 삭제하려면 블록 d'x
을 입력하십시오. 두 경우 모두 p
또는 P
을 사용하여 다른 곳에 붙여 넣을 수 있습니다.
멋진 바로 가기. 감사! –
마커는 선의 시작 부분이나 선의 정확한 위치로 돌아 가기위한 좋은 방법입니다.
일반적으로 일부 코드를 추출하거나 복사 할 때이를 사용합니다. 다음 고려 :
int tmp = 0;
while (tmp < 10)
{
doIt(tmp); /* cursor before d */
/* ... */
finishIt(tmp);
tmp++
}
내가 finishIt(tmp)
에 doIt(tmp)
에서 추출 할 경우, 그때 d'a
a로 표시 삭제 한 후, 커서 (예를 들어 ma
)에 마커를 설정 finishIt로 이동 한 것입니다.
나는 시각적 인 선택을 사용하고 d를 누르거나 명령이 무엇인지 쉽게 알 수 있습니다. 나는이 기술을 가장 자주 사용하여 텍스트를 검색하고 바꿉니다. –
- 1. VI에서 tabulator를 어떻게 검색합니까?
- 2. 터치 타이피스트는 vi에서 어떻게 이동합니까?
- 3. vi에서 입력 모드.
- 4. vi에서 구문 강조 표시
- 5. vi에서 탐색 명령 반복
- 6. 어떻게 마커를 Silverlight 라이브 비디오 스트림에 삽입합니까?
- 7. vi에서 강조 표시 색상 변경
- 8. VI에서 정규식 검색 및 바꾸기
- 9. LabView 6.1 VI에서 .NET DLL을 어떻게 호출 할 수 있습니까?
- 10. vi에서 슬래시 문자를 이스케이프 처리하려면 어떻게해야합니까?
- 11. 어떻게 전체 대역폭을 사용합니까?
- 12. Java 라이브러리는 어떻게 사용합니까?
- 13. wx.lib.docview 패키지는 어떻게 사용합니까?
- 14. PHP는 어떻게 사용합니까?
- 15. Class :: ArrayObjects는 어떻게 사용합니까?
- 16. CA2W를 어떻게 잘못 사용합니까?
- 17. 어떻게 레지스트리를 사용합니까?
- 18. JQuery는 어떻게 사용합니까?
- 19. mySQL에서 SUM을 어떻게 사용합니까?
- 20. RailsAdmin.authorize_with 메소드는 어떻게 사용합니까?
- 21. InternetSetOption은 어떻게 사용합니까?
- 22. 확장이란 무엇이며 어떻게 사용합니까?
- 23. WSDL을 어떻게 사용합니까?
- 24. 어떻게 정규식에서 변수를 사용합니까?
- 25. PyGTK에서 스레드는 어떻게 사용합니까?
- 26. MOgenerator의 xmod는 어떻게 사용합니까?
- 27. kdevelop에서 glib를 어떻게 사용합니까?
- 28. 어떻게 attr_accessible을 사용합니까?
- 29. 어떻게 string.erase와 string.find를 사용합니까?
- 30. gluLookAt는 어떻게 올바르게 사용합니까?
어떻게 뛰어 내리시겠습니까? – vehomzzz
'ma'를 사용하여 마커를 설정하면 'a'를 사용하여 뒤로 이동할 수 있습니다. – Stephan202