Vim이 태그 중간에 링크 중간을 끊지 않도록 방지


16

이 Markdown 파일이 있다고 가정 해 보겠습니다.

[Lorem ipsum dolor sit ](http://vi.stackexchange.com/many-links-are-often-very)

좋아 보인다 그러나 링크가 완료되지 않았 -long으므로을 입력 하면 Vim이 줄을 끊습니다.

[Lorem ipsum dolor sit
](http://vi.stackexchange.com/many-links-are-often-very-long)

textwidth=80설정 때문에 ... 태그 중간에 링크를 끊는 것은 기술적으로 유효한 마크 다운이지만보기 흉한 IMHO로 보입니다. 멋진 소스 파일을 갖는 것은 일종의 마크 다운 포인트입니다.

으로 gq문제가 종종 더 악화입니다 :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec
[Lorem ipsum dolor sit](http://vi.stackexchange.com/many-links-are-often-very-very-long)

이것이된다 :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec [Lorem
ipsum dolor
sit](http://vi.stackexchange.com/many-links-are-often-very-very-long)

Vim 또는 markdown 구문에 이런 방식으로 링크를 끊지 않도록 지시 할 수있는 방법이 있습니까?

  • 전체 링크 (에서 [~까지 ))를 단일 단어로 취급하여 수행 할 수 있습니다.
  • [this][type]마크 다운 링크 와 동일한 문제가 있습니다.

답변:


9

과거에는 함수 서명과 비슷한 문제가있었습니다. 다음은 문제에 적합한 솔루션입니다. 추가 .vimrc:

au CursorMovedI *.md call ModifyTextWidth() " Use only within *.md files

function! ModifyTextWidth()
    if getline(".")=~'^.*\[.*\](.*)$' " If the line ends with Markdown link - set big value for textwidth
        setlocal textwidth=500
    else
        setlocal textwidth=80 " Otherwise use normal textwidth
    endif
endfunction

'^.*\[.*\](.*)$'정규식 을 변경하고 싶을 수도 있습니다 . 현재 링크 다음에 텍스트가 있으면 예제와 같이 줄이 끊어 질 수 있습니다. 그러나 정규 표현식이 내부의 링크가있는 줄과 일치하면 다른 문제가 나타날 수 있습니다.

Some info [here](https://www.google.com). Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris

이 예에서 줄 바꿈은 이후에 삽입되지 않으며 amet,수동으로 추가해야합니다.

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