Phương pháp tốt nhất (tổ hợp phím tối thiểu) để bắt đầu một chức năng và sau đó quay lại điểm hiện tại?


16

Đôi khi, tôi đang ở trong một chức năng dài mà không bắt đầu thấy chức năng này. Trong khi gần đây tôi đã biết về (which-function-mode)mô hình cho biết tên của hàm, tôi muốn có thể nhanh chóng chuyển đến điểm bắt đầu của hàm và sau đó quay lại dễ dàng nhất có thể.

Cho đến nay tôi đã tìm thấy hai giải pháp.

  1. Sử dụng một dấu

    C-SPC Đánh dấu điểm hiện tại

    C-M-a Di chuyển lùi để bắt đầu chức năng

    C-x C-x Trao đổi điểm với điểm hiện tại (nhảy bạn trở lại)

    C-g Hủy vùng được đánh dấu

  2. Sử dụng một đăng ký

    C-x r SPC p Lưu điểm hiện tại trong đăng ký 'p'

    C-M-a Di chuyển lùi để bắt đầu chức năng

    C-x r j p Chuyển đến điểm được lưu trong đăng ký 'p'

Có cách nào tốt hơn? Tôi không phản đối việc thêm một số elisp vào .emacstập tin của tôi .

Câu trả lời:


19

Điều này làm việc cho tôi:

  • C-M-ađể di chuyển đến đầu của chức năng; cái này tự động đánh dấu
  • C-u C-SPC bật nhãn hiệu và trở về vị trí trước đó

2
Đẹp! Tôi không biết rằng nó đã đặt dấu ấn cho tôi và tôi không biết về công cụ sửa đổi tiền tố choset-mark-command
Harvey

10
Khi bạn đã quen với việc sử dụng pop-to-mark-command(đó là những gì được gọi bởi C-u C-SPC), bạn sẽ tự hỏi làm thế nào bạn sống mà không có nó. Bạn có thể tìm đường trở về nơi bạn đến bằng cách đi theo một vệt bánh mì nhỏ mà bạn thậm chí không biết là mình sẽ rời đi.
nispio

Thật. Đó là điển hình cho các lệnh Emacs để đẩy đến vòng đánh dấu nếu chúng sắp di chuyển bạn một khoảng cách tùy ý từ nơi bạn đang ở, vì vậy người dùng nên nhớ cách tiếp cận này nói chung.
phils
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.