2010-07-27 2 views
4

vim의 gq 함수를 구성하여 하이픈 (복합 단어) 뒤에 줄 바꿈을 허용하는 방법이 있습니까? 예 : gim으로 하이픈 뒤에 vim linebreak

twentieth- 
century 

그리고 그런데

, 나는 내 자신의 노트북에 아니지만, 윈도우를 실행하는 실험실 중 하나, 그래서 모든 솔루션은 par 또는 fmt 같은 프로그램을 사용 여부에 불구하고 (:-) 보너스 포인트를 얻을 수 또한 vim만을 사용하여이 작업을 수행 할 수 없다면 이러한 도구를 사용하는 솔루션에 관심이 있습니다. 적어도 내 랩톱에서 할 수는 있습니다.

미리 감사드립니다.

+0

Vim의 내부 서식 지정을 통해이 작업을 수행 할 수있는 방법이 없습니다. 아마 당신이'formatexpr' 또는'formatprg'에 제한 될 것이라고 생각합니다. 그리고 약간의 변경으로 내부 형식을 복제하기 위해 자신의 Vim 코드를 작성하는 것은 어려울 것입니다 ... 그래서 불행히도 외부 프로그램 만이 똑바로. – Cascabel

+0

글쎄, 그럼'par '을 어떻게 구성하는지 알고 있니? (나는이 질문을 순수한 게으름으로 묻는다. 나는 오늘'파 '의 슈퍼 맨 페이지를 읽고 싶지 않다 :-)) 고마워. – antony

+0

** '-'** 앞뒤에 공백을 추가하는 것은 어떻습니까? –

답변

2

ASCII 하이픈 (0x2d)의 경우 가능하지 않습니다. 유니 코드를 사용할 수 있으면 대신 유니 코드 변형 (U + 2010, cp. http://en.wikipedia.org/wiki/Dash)을 사용할 수 있습니다. 이것은 Ctrl-V (Vim의 대부분의 Windows 설치에서 Ctrl-Q)를 통해 삽입 할 수 있으며 그 뒤에 u2010이옵니다. 또는 그것을 위해 소리를 나타내는 두 글자를 정의

:digraph -- 8208 " hyphen, U+2010 

으로
:set formatoptions+=m 

빔 것이다

또한 255

짜잔 위의 멀티 바이트 문자에서 휴식! 텍스트를 ASCII로 유지해야하는 경우 gq 주변의 래퍼 (wrapper)를 사용하여 :substitute 하이픈을 앞뒤로 매핑 할 수도 있습니다.

+0

en 대시가 똑같이 보이는 대부분의 글꼴에는 의미가있는 U + 2010 HYPHEN 문자가 있습니다. – ZyX

+0

@ ZyX : 감사합니다. 위키 백과 페이지에서 하이픈을 거의 언급하지 않았습니다. –

+0

늦은 응답의 종류 그러나 명확하게 아주 좋은. – antony