Ganti karakter unicode di VIM?

16

Saya mendapat beberapa log dari mesin windows, yang berisi banyak contoh <200e>, saya tahu ini adalah unicode char, tapi bagaimana saya bisa menghapusnya dengan sperintah?

Saya tidak tahu bagaimana cara memasukkannya di command"baris".

EDIT

Ini adalah unicode char, yang berarti saya dapat menghapusnya dengan xmenekan satu tombol .. ini bukan 6 karakter <200e>...

bunga aster
sumber
sudahkah kamu memeriksa posting ini? stackoverflow.com/questions/8562354/…
Rahul Patil

Jawaban:

23

Dari :help i_CTRL-V_digit:

Dengan CTRL-V, nilai desimal, oktal, atau heksadesimal karakter dapat dimasukkan secara langsung. Dengan cara ini Anda dapat memasukkan karakter apa pun, kecuali satu baris (, nilai 10). Ada lima cara untuk memasukkan nilai karakter:

first char  mode         max nr of chars   max value
( none )    decimal        3               255
o or O      octal          3               377      (255)
x or X      hexadecimal    2               ff       (255)
u           hexadecimal    4               ffff     (65535)
U           hexadecimal    8               7fffffff (2147483647)

Ini berarti Anda dapat menggunakan <Ctrl-v>u200euntuk memasukkan karakter dan menggunakannya seperti biasa dalam perintah pengganti atau di tempat lain.

:%s/<Ctrl-v>u200e//g
Marco
sumber
7
Ada juga cara khusus regexp untuk menunjukkan karakter yang diperluas, lihat :help /\%u(ini memungkinkan Anda mengetik tanpa harus menggunakan Cv, yaitu mudah untuk "menempelkan"):%s/\%u200e//g
Chris Johnsen
Saya perhatikan bahwa notasi seperti \% u200e tidak berfungsi jika saya menggunakan \ v di depannya untuk ekspresi reguler yang diperluas. Akan lebih baik untuk mengetahui cara membuatnya bekerja ...
ka3ak