2011-07-27 2 views
0

나는 마크 다운 형식의 텍스트로 링크를 삽입하도록 Google에 문의하는 small vim script이 있습니다. 현재 커서 아래에있는 단어를 사용하는 경우에만 expand("<cword>")을 사용하여 검색하고 일반 모드 명령 (norm ciw<new_text>)을 실행하여 수정합니다.vim 스크립트 : 시각적 선택 및 커서 아래 단어로 작업하기

시각적 선택을 사용하여 작동하도록이 스크립트를 어떻게 수정할 수 있습니까?

나는 기본적으로 세 가지가 필요합니다

  • 선택한 텍스트를 수정
  • 선택한 텍스트를 검색

    • 이 (그렇지 않으면 커서 아래에있는 단어를 사용) 텍스트가 선택되고 있는지 알을

    이상적으로 나는 이것을하기위한 깨끗한 방법을 원합니다.

    힌트가 있습니까?

    건배

  • 답변

    3
    당신은 완전히 동일한 기본 함수를 호출하는 별도의 비주얼 모드 매핑 ( vnoremap 오히려 nnoremap 이상)를 사용하여이 사건을 처리 할 수 ​​

    .

    텍스트를 추출하려면 '< 및> (이전 시각적 선택의 시작과 끝) 마커가 유용 할 수 있습니다.

    텍스트를 수정하려면 스크립트에서 gv을 사용하고 (이전 시각적 선택을 다시 선택) 원하는대로 삭제하거나 바꿀 수 있습니다.

    희망이 있으면 도움이됩니다. 나중에 조금 더 시간을 할애 할 수있을 것입니다.

    +0

    감사 :

    BTW, 당신과 함께 일반 모드 매핑을 구축 할 수 있습니다! 정상적인 명령 만 사용하여 시각적 선택 모드를 코딩하는 일이 끝났습니다. 이것은 첫 번째 vim 플러그인이므로 조언/팁/비평은 인정됩니다. – Rom1

    1

    시각적 선택 추출 기능이 너무 복잡합니다. 계속 진행하는 일반적인 방법은 다음과 같습니다. lh#visual#selection(). 정보 주셔서

    vnoremap µ :call <sid>DoStuff()<cr> 
    nmap µ viwµ 
    
    +0

    팁 주셔서 감사합니다! 'lh # visual # selection()'의 해시는 무엇입니까? 네임 스페이스 스키마? – Rom1

    +0

    어떻게 든 예. 이것은 여러 용도로 사용되는 자동로드 플러그인과 관련이 있습니다 : - 라이브러리 플러그인 정의; - on-the-fly로로드되는 플러그인을 정의합니다. –

    관련 문제