2013-04-05 21 views
18

Tôi đang cố gắng tìm tất cả các phiên bản của một xử lý Twitter và quấn một thẻ neo xung quanh chúng.Vim của tôi thay thế bằng một regex đang ném một `E488: Trailing characters '

:%s/\(@[\w]\)/<a href="http://www.twitter.com/\1">\1<\/a>/gc 

nào mang lại cho tôi:

E488: Trailing characters 
+4

Hoặc thoát khỏi tất cả các bạn '/' 's, hoặc sử dụng một khác nhau delimiter (',' xuất hiện trong tâm trí). – Wrikken

Trả lời

19

Khi ký tự phân cách (/ trong trường hợp của bạn) giữa {pattern}{string} được chứa trong một trong những, nó phải được thoát ra với một \. Một mẹo để tránh điều đó là sử dụng ký tự phân cách khác, ví dụ: #:

:%s#@\(\w\+\)#<a href="http://www.twitter.com/\1">\0</a>#gc 

PS: Nếu làm như tôi nghĩ, mẫu của bạn là sai; thấy sự điều chỉnh của tôi.

+0

Vâng, mẫu của tôi cũng sai. –

+0

Cảm ơn bạn đã trả lời ban đầu, nó hoạt động hoàn hảo. Tôi tò mò về lý do tại sao chúng ta sử dụng '/ 1' để tiêm mẫu lần đầu tiên, và'/0' để tiêm nó lần thứ hai. –

+3

Ồ, đợi đã. Tôi nghĩ tôi hiểu rồi. '/ 0' sẽ tiêm toàn bộ từ, và'/1' sẽ chỉ tiêm phần được chụp. –

1

Tôi có vấn đề này và không thể làm cho nó biến mất cho đến khi tôi phát hiện ra rằng .vimrc tập tin mà tôi có bộ phận mà tôi sao chép từ những nơi khác có chứa từ viết tắt, như thế này ví dụ:

abbrev gc !php artisan generate:controller

viết tắt đó sẽ lộn xộn lên mạng tìm kiếm và thay thế các lệnh mà thường trông như thế này:

:%s/foo/bar/gc

bằng cách mở rộng mà gc vào !php artisan generate:controller, ngoại trừ, nó sẽ không làm điều đó ngay tại chỗ/trong thời gian thực. Cách mà tôi clued trong là bằng cách nhìn qua lịch sử lệnh (bằng cách nhấn : và mũi tên lên) và nhìn thấy

:%s/foo/bar/!php artisan generate:controller

Vì vậy, nếu bạn đang nhận trailing lỗi nhân vật không có vấn đề gì bạn làm tôi muốn nhìn vào bên trong

~/.vimrc

và xem liệu bạn có thể tìm thấy sự cố ở đó không.

0

:%s/\/apps/log_dir/g

nơi chuỗi thay thế =/apps và thay thế chuỗi = log_dir như chúng ta đã thấy/vì vậy chúng tôi cần phải sử dụng "\/"

Các vấn đề liên quan