Bagaimana Anda mengonversi semua teks dalam Vim menjadi huruf kecil? Apakah itu mungkin?
vim
text-processing
ksuralta
sumber
sumber
Jawaban:
Jika Anda benar-benar bermaksud huruf kecil , maka tidak, itu tidak mungkin - seperti halnya tidak mungkin untuk mengubah teks menjadi tebal atau miring dalam editor teks apa pun (sebagai lawan pengolah kata ). Jika Anda ingin mengonversi teks menjadi huruf kecil, buat blok visual dan tekan
u
(atauU
untuk mengonversi menjadi huruf besar). Tilde (~
) dalam mode perintah membalikkan huruf di bawah kursor.Jika Anda ingin melihat semua teks dalam Vim dalam huruf kecil, Anda mungkin ingin melihat
guifont
opsi, atau mengetik:set guifont=*
jika rasa Vim Anda mendukung pemilih font GUI.sumber
guu
akan mengurangi satu baris, dangu[motion]
akan mengurangi nilai teks dari gerak itu. Demikian juga,gUU
dangU[motion]
bekerja dengan cara yang sama, hanya untuk huruf besar.Saya menganggap Anda ingin menggunakan huruf kecil teks. Solusinya cukup sederhana:
Penjelasan:
sumber
U
untuk huruf besar (mis.ggVGU
)Mirip dengan solusi mangledorf, tetapi lebih pendek dan ramah orang awam
:%s/.*/\L&/g
sumber
:%s/.*/\L&
akan cukup (tidak perlug
bendera karena.*
memilih seluruh baris):%s/./\L&/g
, karena / g / menunjukkan operasi yang bersifat global untuk saluran. Apa yang membuat saya, adalah&
. Mengapa itu perlu?&
berdiri di sini untukwhat was matched by the pattern
, sehingga dapat dipahami sebagai berikut: ganti.*
dengan\Lowercase(what was matched by the pattern)
. Perhatikan bahwa pencocokan pada.
global lebih lambat daripada pencocokan.*
gunakan opsi mode perintah ini
sumber
Banyak cara menguliti kucing ... inilah cara yang baru saja saya posting :
Demikian juga untuk huruf besar:
Saya lebih suka cara ini karena saya menggunakan konstruk ini (
:%s/[pattern]/replace/g
) sepanjang waktu sehingga lebih alami.sumber
:%s/./\U&/g
juga berfungsi. Ternyata itu mengabaikan angka dan karakter non-alfabet. Apa yang membuat saya adalah&
. Mengapa \ U (atau \ L) dengan sendirinya tidak cukup? Bisakah kita mendapatkan penjelasan untuk itu?&
adalah stand-in untuk string yang cocok. Jadi\U&
kapitalisasi string yang cocok sehingga dapat digunakan untuk penggantian.Untuk contoh dan info lebih lanjut silakan baca ini: http://vim.wikia.com/wiki/Switching_case_of_characters
sumber
&
. \ L dan \ U masuk akal, tetapi mengapa itu&
perlu?menggunakan
ggguG
gg: pergi ke baris pertama. gu: ubah menjadi huruf kecil. G: pergi ke baris terakhir.
sumber
Biasanya Vu(atau VUuntuk huruf besar) sudah cukup untuk mengubah seluruh baris menjadi huruf kecilV sudah memilih seluruh baris untuk menerapkan tindakan melawan.
Tilda ( ~) mengubah kasus huruf individual , menghasilkan kasing unta atau serupa.
Sungguh luar biasa bagaimana Vim memiliki banyak mode yang berbeda untuk menangani berbagai kesempatan dan bagaimana mode-mode itu disusun dengan rapi.
Sebagai contoh, v- mode visual yang sebenarnya, dan yang terkait V- garis visual, dan Ctrl+ Q- mode blok visual (yang memungkinkan Anda untuk memilih blok, fitur hebat yang juga ditawarkan oleh beberapa editor tingkat lanjut lainnya biasanya dengan menahan Alttombol dan memilih teks).
sumber
Jika Anda menjalankan di bawah rasa Unix
sumber
:%!tr A-Z a-z
!
menunjukkan perintah eksternal shell, sehingga$ man tr
(sebagai lawan:help tr
) mengungkapkan bahwatr
bagitranslate
.:%0,$!tr [:upper:] [:lower:]
Saya memiliki masalah yang sama, dan saya ingin menggunakannya
":%s/old/new/g"
, tetapi akhirnya menggunakan dua perintah:sumber