Untuk menyisipkan en dash , saya menggunakan ^v u 2014
tujuh penekanan tombol. Apakah ada cara yang lebih mudah? (Saya sedang melihat digraf dan tidak menemukan en dash di sana.)
insert-mode
unicode
input-methods
Tomas Tomecek
sumber
sumber
<Ctrl-Shift-U>2013<Space>
karena berfungsi di mana-mana. Beberapa kode kunci berjalan jauh (saya terutama menggunakan U + 2013, U + 2014, U + 2026, U + 2212, U + 2192, U + B0; - / - /… / - / → / °).Compose
-
-
-
untuk em-dash,Compose
-
-
.
untuk en-dash. Tulisan itu ajaib, terutama jika Anda memetakannya ke Caps-Lock yang sama sekali tidak digunakan.Jawaban:
Anda dapat menggunakan digraf: Ctrl+k-N(dengan modal
N
)Dalam mode Sisipkan, digraf dimasukkan dengan Ctrl+kdiikuti oleh urutan dua karakter. Untuk en-dash, urutannya adalah
-N
.Seperti yang ditunjukkan Quincy,
U+2014
adalah em-dash. Jika Anda ingin memasukkan yang menggunakan digraf, urutannya adalah-M
.sumber
U+2014
bukan en-dash? seluruh hidupku adalah dusta! Sunting: sekarang saya mengerti: font terminal saya (Inconsolata) menerjemahkan kedua tanda hubung dengan cara yang sama.:digraphs
perintah untuk menampilkan semua digraf, dan cari 8211.Jika tidak ada digraf yang telah ditentukan atau Anda menginginkan urutan kunci yang lebih mudah diingat, maka Anda dapat mendefinisikan digraf di vimrc Anda. Sebagai contoh, di bawah ini akan mendefinisikan dua digraf untuk en dash (8211) dan em dash (8212) yang mencerminkan urutan XCompose mereka.
The
:digraph
perintah mengharapkan nilai yang akan ditentukan dalam desimal daripada hex, yang mengapa itu 8211 untuk en lari daripada 2013.sumber
Cara standar memasukkan en dasbor di Vim adalah dengan menggunakan digraf, seperti yang dijelaskan tommcdo .
Namun, saya menemukan digraf pada umumnya, dan khususnya yang satu ini ( Ctrl+k, -, Shift+N) cukup canggung untuk mengetik. Untuk input tanda hubung yang lebih cepat, Anda bisa menambahkan pasangan pemetaan mode-insert berikut ke file tipe file, seperti
.vim/after/ftplugin/markdown.vim
.Untuk tanda hubung en / em, masing-masing:
NB Cara
<buffer>
pemetaan ini hanya akan berlaku untuk file Penurunan harga. Ini perlu karena ada beberapa konteks (misalnya pemrograman) di mana saya tidak ingin dua tanda hubung diganti dengan tanda hubung.Pemetaan ini mengambil keuntungan dari kenyataan bahwa dalam konteks saya biasanya menggunakannya, en strip dikelilingi oleh spasi, dan em strip tidak . * Oleh karena itu, menggunakan pemetaan ini berarti bahwa saya dapat menggunakan penekanan tombol yang persis sama dalam editor teks yang kurang mampu yang terkadang saya paksa untuk menggunakan dan masih mendapatkan output yang masuk akal. **
Saya sebenarnya menggunakan solusi yang sedikit lebih rumit dari yang di atas, karena, untuk alasan tipografi, saya suka mengelilingi em-dash saya dengan ruang rambut . Memiliki ini dalam Markdown membuatnya kurang mudah dibaca, tetapi untungnya, Vim memiliki solusi untuk ini, dengan fungsi "menyembunyikan", yang memungkinkan Anda untuk menyembunyikan item sintaksis tertentu ketika kursor berada pada baris yang berbeda: ***
* Jika saya perlu menggunakan en dasbor tanpa spasi, maka saya cukup menekan backspace setelah mengetik pemetaan.
** Jika Anda biasanya tidak menggunakan en-dash seperti ini, atau jika Anda tidak pernah berani keluar dari Vim, Anda bisa menggunakan sesuatu yang lain untuk memicu pemetaan: misalnya
--.
dan---
. Jika Anda menggunakan pemicu lain, Anda juga bisa menempatkan ini langsung di .vimrc Anda, dan menghapus<buffer>
opsi.*** Anda juga dapat menggunakan karakter tersembunyi
cchar
untuk mengganti item sintaks dengan karakter tunggal, alih-alih menyembunyikannya sepenuhnya. Jika Anda khawatir tentang masalah penyandian, Anda dapat menggunakan ini untuk membuat Vim menampilkan–
entitas HTML dalam file sebagai en dashes.sumber
set conceallevel=1 | syntax match longdash '—' conceal cchar=-
(Perhatikan bahwa tanda hubung pertama dalam perintah ini adalah em-tanda hubung, dan yang kedua adalah tanda hubung minus-lebar penuh.)syntax match
perintah bahkan bekerja di luar konteks file sintaks?Pada keyboard Mac AZERTY Prancis saya, saya dapat memasukkan en dash dengan Alt+ -. Jarak tempuh Anda mungkin sangat beragam.
sumber
Alt+-
(atau lebih tepatnyaOption+-
bertele-tele) adalah jalan pintas khusus-Mac. Ia bekerja di mana-mana di OS X, tetapi tidak terkait dengan vi atau vim.-
, sehingga beralih ke mode Normal dan meletakkan kursor di awal baris sebelumnya.Instal plugin unicode saya , masukkan Vim dan ketik DASH diikuti oleh CtrlXCtrlZuntuk mengaktifkan penyelesaian unicode.
(Perhatikan -N dalam deskripsi yang menunjukkan digraf untuk memasukkan karakter itu)
sumber
Terinspirasi oleh jawaban hebat Rich, saya telah menambahkan baris berikut ke vimrc saya:
Bekerja seperti hadiah!
sumber
Untuk en dash sebuah digraf adalah cara terbaik untuk pergi, seperti yang disarankan dalam berbagai jawaban lainnya. Tetapi untuk karakter unicode sewenang-wenang, cara lain adalah dengan menggunakan
^V
dalam mode insert (lihat:he i_CTRL-V_digit
).Misalnya, untuk en dash
^Vu2013
.sumber