Cách tiêu chuẩn để chèn một dấu gạch ngang trong Vim là sử dụng một bản vẽ sơ đồ, như tommcdo đã giải thích .
Tuy nhiên, tôi tìm thấy các bản tóm tắt nói chung, và đặc biệt là bản này ( Ctrl+k,- , Shift+N) khá vụng về để gõ. Để nhập nhanh hơn dấu gạch ngang, bạn có thể thêm cặp ánh xạ chế độ chèn sau vào tệp filetype, chẳng hạn như .vim/after/ftplugin/markdown.vim
.
Đối với dấu gạch ngang en / em, tương ứng:
inoremap <buffer> --<space> –<space>
inoremap <buffer> -- —
NB Có <buffer>
nghĩa là ánh xạ này sẽ chỉ áp dụng cho các tệp Markdown. Điều này là cần thiết bởi vì có một số bối cảnh (ví dụ như lập trình) trong đó tôi không muốn hai dấu gạch nối được thay thế bằng dấu gạch ngang.
Các ánh xạ này lợi dụng thực tế là trong các bối cảnh tôi thường sử dụng chúng, các dấu gạch ngang được bao quanh bởi các khoảng trắng, còn các dấu gạch ngang thì không . * Do đó, sử dụng các ánh xạ này có nghĩa là tôi có thể sử dụng chính xác cùng một phím bấm trong các trình soạn thảo văn bản có khả năng kém hơn mà đôi khi tôi buộc phải sử dụng và vẫn nhận được đầu ra hợp lý. **
Tôi thực sự sử dụng một giải pháp phức tạp hơn một chút so với ở trên, bởi vì, vì lý do chính tả, tôi thích bao quanh các dấu gạch ngang của mình với các khoảng trống tóc . Có những thứ này trong Markdown giúp nó dễ đọc hơn, nhưng may mắn thay, Vim có một giải pháp cho việc này, với chức năng "che giấu", cho phép bạn ẩn các mục cú pháp nhất định khi con trỏ ở một dòng khác: ***
inoremap <buffer> --<space> –<space>
inoremap <buffer> --  — 
syntax match entity_hairspace " " conceal
setl conceallevel=2
* Nếu tôi cần sử dụng một dấu gạch ngang không dấu, thì tôi có thể chỉ cần nhấn phím lùi sau khi nhập ánh xạ.
** Nếu bạn thường không sử dụng dấu gạch ngang như thế này hoặc nếu bạn chưa từng mạo hiểm với Vim, bạn có thể sử dụng một cái gì đó khác để kích hoạt ánh xạ: vd --.
và ---
. Nếu bạn sử dụng các kích hoạt khác, bạn cũng có thể đặt nó trực tiếp vào .vimrc của bạn và xóa các <buffer>
tùy chọn.
*** Bạn cũng có thể sử dụng một ký tự che giấu cchar
để thay thế các mục cú pháp bằng một ký tự duy nhất, thay vì ẩn chúng hoàn toàn. Nếu bạn lo lắng về vấn đề mã hóa, bạn có thể sử dụng điều này để khiến Vim hiển thị –
các thực thể HTML trong tệp dưới dạng dấu gạch ngang.