Sisipkan penyelesaian mode dengan Ctrl-n
Saya tidak tahu apakah Anda bisa menyelesaikan KATA di luar menulis fungsi Anda sendiri (seperti omnifunc). Namun, jika Anda tidak keberatan memperluas kata apa yang cocok dengan karakter Anda, Anda dapat menambahkan karakter tersebut ke 'iskeyword'
Misalnya, 'iskeyword' saya default ke
iskeyword=@,48-57,_,192-255
Saya kemudian mengaturnya untuk itu ditambah karakter tambahan di atas
:set iskeyword=@,48-57,_,192-255,{,},,,(,),^
Ini menambah {
, }
, ,
, (
, )
, dan ^
dengan karakter yang membentuk sebuah kata (selain apa yang sudah lakukan)
Setelah itu, mengetik {
Ctrl-nselesai untuk {0,1}^n
(dalam file yang hanya berisi dua contoh yang Anda berikan)
Catatan: Akan lebih baik melakukan :set iskeyword+=
hanya dengan hal-hal tambahan, sebagai berikut:
:set iskeyword+={,},,,(,),^
Dengan cara ini, Anda meninggalkan apa pun yang sudah menjadi kata kunci dengan menambahkan karakter baru ke pengaturan yang ada.
Ekspansi dengan singkatan
Meskipun bukan bagian dari pertanyaan awal, fungsionalitas lain yang serupa (ish) adalah menggunakan fungsionalitas singkatan nvi atau Vim. Tidak seperti penyelesaian kata kunci, singkatan tidak harus terlihat seperti teks akhir. Juga tidak seperti penyelesaian kata kunci, singkatan diperluas secara otomatis, bukan hanya ketika Anda memintanya. Bergantung pada tujuan dan penggunaan Anda, ini dapat menyimpan banyak pengetikan, dan memungkinkan Anda mengetik banyak teks tanpa gangguan untuk meminta penyelesaian.
Singkatan yang baik untuk satu set kata kunci kecil dan ketika Anda dapat menentukan mereka sebelumnya (mereka tidak ditemukan dari teks Anda seperti penyelesaian kata).
Gagasan dasar di balik singkatan adalah bahwa Anda mengaitkan WORD dengan beberapa teks lain, dan setiap saat editor mendeteksi bahwa Anda mengetik WORD itu (yaitu, teks yang Anda ketikkan dikelilingi oleh ruang putih, di mana tindakan penyelesaiannya menambahkan spasi putih setelah kata kunci atau meninggalkan mode sisipan), itu diganti dengan teks lain.
Katakanlah file Anda mengandung {0,1}^n
banyak, dan tidak ada variasi lainnya. Mengetik sedikit peregangan jari, jadi mungkin Anda hanya ingin mengetik 01n
atau myvalue
memperluasnya {0,1}^n
, tetapi hanya ketika 01n
atau myvalue
merupakan kata sendiri (yaitu, jika itu muncul di kata lain, jangan ubahlah).
Di nvi, Anda bisa melakukannya :abbrev 01n {0,1}^n
. Anda dapat melakukan hal yang sama di Vim, tetapi saya sarankan menggunakan :iabbrev 01n {0,1}^n
untuk membatasi ekspansi ke mode penyisipan saja.
Kemudian, jika Anda memiliki beberapa teks (yang |
mewakili kursor)
We find that the value 01n|
Dan kemudian Anda menekan Escatau Spaceatau Tabatau memindahkan kursor, teks akan diganti, dan Anda miliki (contoh untuk menggunakan ruang)
We find that the value {0,1}^n |
dan Anda dapat terus mengetik tanpa gangguan.
Ini biasanya digunakan untuk mengoreksi kesalahan ketik umum (mis. Mengubah 'teh' menjadi 'the') tetapi ini juga dapat berguna untuk kasus penggunaan Anda, sekali lagi dengan asumsi bahwa Anda tidak keberatan mengatur pemetaan sebelumnya.
:abbreviate
. Misalnya, berikan:ab 01n {0,1}^n
perintah. Lalu, setiap kali Anda mengetik01n
sebagai kata independen dalam mode Sisipkan, kata itu akan diperluas ke{0,1}^n
.