Yapıştırma için asci olmayan değerden kaçan vim


0

Ben ASCII olmayan karakterler gibi içeriyor VIM bir kasadan bir dize yapıştırmak için çalışıyorum Ctrlrben bir dosyaya Bu dize yapıştırmak nasıl, fakat otomatik ASCII olmayan karakterler kaçış?

Temel olarak, elde etmeye çalıştığım, CtrlWvimin ^ W olarak göstereceği gibi bazı (ascii olmayan) karakterleri olan bir makro kaydetmektir . Makroyu alabilmeyi istiyorum (kayıtları inceleyerek ve makro dizesini (yani @ a = ^ W) alarak) ve bunu bir anahtar haritası olarak .vimrc dosyasına kopyalayarak. bu makroyu çalıştıracak.

Bunu otomatik olarak (veya olabildiğince hızlı olarak) CtrlW.vimrc dosyasında ^ W değiştirmeden ya da nereye koyduğumu yapmak istemiyorum.


Unix.stackexchange.com/questions/103567/… ' nin kopyası ; lütfen birden fazla Stack Exchange sitesine paralel olarak göndermeyin!
Ingo Karkat

Yanıtlar:


1

Her şeyden önce, kontrol dizileri ASCII aralığındadır ( ^Wkod noktası 23'tür) ancak bunlar yazdırılamayan karakterler olarak adlandırılır . Bu sözleri dosyalarınıza yapıştırabilirsiniz ~/.vimrc(Vim registerları kullandığınız sürece ve terminal seçimi yapıp yapıştırmadığınız sürece); kaçmaya gerek yok . (Yalnızca dosya biçiminize bağlı olarak ^Jve ile ilgili sorunlar olabilir .)^M~/.vimrc

Bununla birlikte, bu kontrol dizilerinden kaçacak basit bir ikame olduğu söylenir:

:echo substitute("example: \<C-A>\<C-Z>", '[\x00-\x1f]', '\="<C-" . nr2char(char2nr(submatch(0)) + 64) . ">"', 'g')
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.