Vim에 en 대시를 삽입하는 표준 방법은 tommcdo가 설명한 것처럼 digraph를 사용하는 것 입니다.
그러나, 나는 일반적으로 이중 음자를 찾고, 특히 이 하나 ( Ctrl+k, -, Shift+N) 꽤 어색 입력합니다. 보다 빠른 대시 입력을 위해 다음과 같은 파일 형식 파일에 다음과 같은 삽입 모드 매핑 쌍을 추가 할 수 있습니다 .vim/after/ftplugin/markdown.vim
.
en / em 대시의 경우 :
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
NB <buffer>
이 매핑은 마크 다운 파일에만 적용됩니다. 이것은 두 개의 하이픈을 대시로 바꾸고 싶지 않은 컨텍스트 (예 : 프로그래밍)가 있기 때문에 필요 합니다.
이러한 매핑은 내가 일반적으로 사용하는 컨텍스트에서 대시가 공백으로 둘러싸이고 엠 대시가 아닌 사실을 이용 합니다. * 따라서 이러한 매핑을 사용한다는 것은 때때로 사용하도록 강요되고 합리적인 출력을 얻는 능력이 떨어지는 텍스트 편집기에서 정확히 동일한 키 누르기를 사용할 수 있음을 의미합니다. **
인쇄상의 이유로 나는 머리 공간으로 엠 대시를 둘러싸고 있기 때문에 실제로는 위보다 약간 더 복잡한 솔루션을 사용 합니다 . 마크 다운에 이것들을 포함 시키면 읽을 수는 없지만 운 좋게도 Vim은 "숨김"기능을 사용하여 커서가 다른 줄에있을 때 특정 구문 항목을 숨길 수있는 솔루션을 제공합니다. ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* 공백이없는 대시를 사용해야하는 경우 매핑을 입력 한 후 백 스페이스를 누르면됩니다.
** 일반적으로 이와 같은 대시를 사용하지 않거나 Vim을 사용하지 않는 경우 다른 것을 사용하여 매핑을 트리거 할 수 있습니다 (예 : --.
및) ---
. 다른 트리거를 사용하는 경우이를 .vimrc에 직접 배치하고 <buffer>
옵션을 제거 할 수도 있습니다.
*** 은닉 문자 cchar
를 사용하여 구문 항목을 완전히 숨기지 않고 단일 문자로 바꿀 수도 있습니다. 인코딩 문제가 걱정된다면이를 사용하여 Vim –
이 파일에 HTML 엔티티를 대시로 표시 할 수 있습니다 .