Notepad ++: con trỏ qua cuối dòng / không gian ảo?


11

TL; DR - Làm cách nào tôi có thể kích hoạt các không gian ảo để di chuyển con trỏ qua cuối dòng văn bản?

Phiên bản dài - Trong Notepad ++, khi cố gắng chọn (sử dụng chuột), một dòng văn bản dài kéo dài qua cạnh phải của cửa sổ, khiến nó cuộn theo chiều ngang, đôi khi chuột của tôi sẽ hơi lên hoặc xuống đủ để di chuyển con trỏ đến dòng liền kề (thường ngắn hơn nhiều), khiến con trỏ quay ngược về bên trái nơi dòng liền kề đó kết thúc; lần lượt cuộn cửa sổ theo chiều ngang về bên trái, gây khó khăn cho việc nhanh chóng điều chỉnh và hoàn thành việc kéo ra lựa chọn của tôi.

Một số (mặc dù rất ít) trình soạn thảo văn bản có tùy chọn "không gian ảo" hoặc chửi rủa qua EOL, để dễ dàng di chuột / mũi tên xung quanh mà không bị giới hạn trong văn bản / khoảng trắng hiện có.

Làm cách nào tôi có thể thực hiện điều này trong Notepad ++ (mà không tự hack nguồn)?


1
bắt đầu dòng, giữ SHIFT + END, có chọn toàn bộ dòng không? Tôi biết nó không giống như những gì bạn muốn, nhưng đó là những gì tôi làm.
Cướp

1
Không phải những gì bạn yêu cầu, nhưng vấn đề sẽ biến mất với gói đường.
Eroen

@Rob: Đây thường là một vấn đề khi tôi đang cố gắng chọn một đoạn mã dài cụ thể của một dòng mã rất dài, nhưng dòng đó được xen kẽ với các dòng ngắn hơn nhiều. Tôi cũng có thể sử dụng SHIFT + CTRL + RIGHTARWAY để nhanh chóng chọn ngay từ điểm bắt đầu của mình một từ, Notepad ++ khá tốt trong việc phát hiện các ký tự ngắt từ như dấu chấm, dấu ngoặc đơn, v.v. khi không có khoảng cách thực tế nào ngăn cách các từ (chẳng hạn như trong một tham chiếu đối tượng dài), vd (javascript):someObjectName.subObject.property['index'](parameter)
acirthept 16/03 '

@Eroen: rất vui vì bạn đã đề xuất điều này, tôi đã không sử dụng từ khóa trong N ++ trong một thời gian dài, vì nó thường đưa chương trình đến đầu gối với các tệp lớn ... nhưng nó thực sự hoạt động rất tốt ngay cả với 20k lớn hơn của tôi các tệp dòng và thậm chí xếp hàng thụt lề trên các dòng được bọc;)
acirthept

Câu trả lời:


14

Sắp xếp một vụ hack (gửi tin nhắn cửa sổ trực tiếp đến điều khiển chỉnh sửa Scintilla khi khởi động), nhưng hoạt động rất tốt:

  1. Cài đặt plugin NppExec

  2. Chuyển đến Plugin -> NppExec -> Thực thi

  3. Nhập mã sau:

    // ensure console stays hidden
    NPP_CONSOLE 0
    
    // enable virtual spaces (cursor past end of line) outside column edit mode
    SCI_SENDMSG 2596 3 0
    
    // SCI_SENDMSG == send message to Scintilla edit control
    // 2596 == the message we're sending is SCI_SETVIRTUALSPACEOPTIONS
    // 3 == send the value (SCVS_RECTANGULARSELECTION | SCVS_USERACCESSIBLE)
    // the default value is 1 (just SCVS_RECTANGULARSELECTION) for
    //   virtual spaces in column select mode only
    // you can find these values by poking around the source code a bit, or
    // see http://www.scintilla.org/ScintillaDoc.html
    
  4. Nhấp vào nút Lưu ở dưới cùng và đặt tên cho tập lệnh

  5. Bây giờ, hãy truy cập Plugins -> NppExec -> Tùy chọn nâng cao

  6. Ở bên phải, trong "Thực thi tập lệnh này khi Notepad ++ khởi động", chọn tên tập lệnh bạn vừa lưu

  7. Bấm OK, đóng / mở lại Notepad ++ và thưởng thức;)


mã thông báo như 2596tài liệu cho các lệnh scintilla khác ở đâu? chọc Scintilla.h chỉ? hiện tại tại tortoisesvn.googlecode.com/svn/trunk/ext/scintilla/include/ .
n611x007

Có gì 0trong SCI_SENDMSG 2596 3 0?
n611x007

@naxa: xem tài liệu Scintilla cho các mã thông điệp, ví dụ scintilla.org/ScintillaDoc.html#SCI_SETVIRTUALSPACEOPTIONS (tôi tin rằng các tham số thứ 3 là không sử dụng cho hầu hết trong số này, nhưng phải được đặt thành 0 chứ không phải bỏ qua)
acatalept

"Sắp xếp một vụ hack" - một vụ hack có nghĩa là truy cập vào thứ gì đó mà phần mềm không được phép làm. Điều này trông giống như một tính năng đối với tôi.
Natalie Adams

@Nathan: ngữ nghĩa rất thú vị;) Về cơ bản, ý tôi là việc sử dụng plugin NppExec để gửi tin nhắn cửa sổ trực tiếp đến các điều khiển là một cách hack, không phải là thứ mà Notepad ++ được thiết kế đặc biệt để làm (ngoài việc cung cấp một khung plugin để bôi trơn bánh xe)
acirthept

0

Không có quyền quản trị, hãy cài đặt NppExec bằng cách tải xuống dll và cài đặt vào thư mục / thư mục của plugin của npp. Đóng / mở lại npp.

Chỉnh sửa (+2 năm): Tôi không biết điều này có thay đổi hay không nhưng bây giờ chúng tôi (nếu không phải ban đầu) đã đặt thư mục NppExec vào thư mục plugin của npp - với dll trong thư mục con NppExec.

Ngoài ra, hãy đảm bảo các phiên bản khớp (nhắc nhở bạn dù bạn ở trên 32 bit hay 64) và nếu bạn có phiên bản gần đây (2019), bạn có thể cần phiên bản _PA của NppExec.

Tại sao tôi không thể cài đặt plugin NppExec cho Notepad ++?


Một cái gì đó đã thay đổi trong Notepad ++. Thực thi không còn nữa. Có sửa chữa điều này?
user215779
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.