2012-10-17 38 views
25

Tôi đã học Markdown, và sử dụng các gói Python Markdown, mà thường trả về sau khi tôi cố gắng để chuyển đổi văn bản đã được dán từ trang web:Có thể hiển thị vị trí chính xác trong Sublime Text 2 không?

UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in 
position 1611: ordinal not in range(128) 

Ở dưới cùng của biên tập viên tôi của tôi hiện thấy điều này:

COMMAND MODE, Line X, Column Y 

có một thiết lập trong Sublime văn bản 2 đó sẽ hiển thị vị trí đầy đủ (như trong 1611 trong ví dụ trên) bất cứ lúc nào để tôi có thể nhanh chóng tìm ra nhân vật xấu?

Trả lời

52

Bạn có thể tạo một tập lệnh python đơn giản để thực hiện việc này.

1. Lưu mã này vào thư mục người dùng của bạn như characterCounter.py (Preferences > Browse Packages > User):

import sublime, sublime_plugin 

class PositionListener(sublime_plugin.EventListener): 
    def on_selection_modified(self,view): 
    text = "Position: " 
    sels = view.sel() 
    for s in sels: 
     text += " " + str(s.begin()) 
     if not s.empty(): 
      text += "-" + str(s.end()) + " " 
    view.set_status('exact_pos', text) 

2. Sau đó khởi động lại chữ Sublime để có nó nạp.

+0

Cảm ơn bạn đã nhập mã. Tôi đã sửa chữa rất ít. Khi bạn sử dụng nhiều con trỏ mà không chọn bất kỳ thứ gì không có không gian: http://hastebin.com/cejosemeka.py – Ticksy

+0

Câu hỏi ngu ngốc: làm thế nào để bạn kích hoạt nó? Tôi đã lưu tập lệnh nhưng Sublime dường như không biết nó ở đó. Cảm ơn. – gotofritz

+0

@gotofritz Bạn có thể thấy "Vị trí: 123" ở phía dưới bên trái của SublimeText nếu bạn sao chép tập lệnh này vào một tệp .py và lưu nó vào thư mục được mở bởi Tùy chọn> Duyệt gói> Người dùng –

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