Làm cách nào để chọn một dòng trên OSX?


8

Tôi đang chỉnh sửa văn bản. Một cách rườm rà để chọn một dòng sẽ là đi đến đầu của dòng (cmd <-) và sau đó chọn toàn bộ dòng đến cuối (Shift cmd ->). Tôi có thể làm tốt hơn không?

Ngoài ra các phím tắt để cắt dòng và lưu trữ trong bộ đệm sẽ được hoan nghênh. (cmd D) không lưu trữ dòng trong bộ đệm.


1
Chương trình bạn đang chỉnh sửa văn bản trong?
ForeverWintr

Chủ yếu là trong Eclipse trong thiết bị đầu cuối, nhưng tôi đã hy vọng có được một giải pháp chung cho mọi ứng dụng nếu có thể.
Dávid Natingga

trên bàn phím tối ưu trong os x home, sau đó shift-end sẽ chọn toàn bộ dòng, nhưng có lẽ bạn không có bàn phím đầy đủ. Ngoài ra, trong hầu hết các ứng dụng định vị con trỏ ở đầu dòng, sau đó giữ shift, nhấn mũi tên xuống hoạt động.
sdjuan

Câu trả lời:


10

Tôi luôn luôn sử dụng như sau:

  • cmd - Left arrow để đến đầu dòng
  • shift + cmd + right arrow để đánh dấu dòng
  • cmd - C(hoặc cmd - X) để sao chép (hoặc cắt) dòng được đánh dấu vào bảng tạm

Sau đó tôi có thể đi bất cứ nơi nào tôi thích và dán dòng cmd - v.

Nhưng vì MacOS được cố định chặt chẽ với UserInterface bằng cách sử dụng nó mà không cần chuột nhưng đôi khi - như trong trường hợp của bạn - liên quan đến một lần nhấn phím nhiều hơn một lần.


1
Hầu như đúng: shift + cmd - mũi tên phải để đánh dấu dòng, KHÔNG shift + cmd - mũi tên xuống.
Kevin Le - Khnle

1
shift + cmd + mũi tên xuống đánh dấu dòng hiện tại bao gồm char dòng mới, shift + cmd + mũi tên phải đánh dấu dòng không bao gồm char dòng mới. Vì vậy, cả hai chúng tôi đều đúng;)
heiglandreas

5

Hầu hết các ứng dụng (Terminal, TextEdit, URL / thanh tìm kiếm của Safari, v.v.) chấp nhận các ràng buộc khóa tiêu chuẩn danh dự nhập văn bản (không chắc chắn tiêu chuẩn nào ... ANSI, ASCII?) Bao gồm

control+ a: đầu dòng

control+ e: cuối dòng

Vì vậy, control+ shift+ a or eđể chọn một dòng tùy thuộc vào vị trí của bạn.

Cũng thế:

control+ shift+ k: giết đến cuối dòng

control+ shift+ y: yank (từ bộ đệm)

Một danh sách đầy đủ có thể được tạo bằng bindkeylệnh trong Terminal, mặc dù không phải tất cả chúng đều hoạt động trên tất cả các ứng dụng.


1
Chế độ xem văn bản của OS X không sử dụng đường đọc, chúng chỉ tình cờ hỗ trợ nhiều phím bấm giống như đường đọc ở chế độ emacs. Cu, C- @ và Cw không nên hoạt động trong chế độ xem văn bản vanilla theo mặc định, mặc dù bạn có thể xác định chúng trong DefaultKeyBinding.dict.
Lri

Tôi đã kiểm tra tất cả mọi thứ, trước khi đăng ... ngoại trừ tôi đã làm điều đó tại một dấu nhắc lệnh. doh
Nevin Williams

Điều này là tốt nhưng tôi vẫn đang tìm kiếm một cái gì đó hoạt động trên toàn cầu.
Louis Waweru

2

Bạn có thể tạo ~/Library/KeyBindings/và lưu danh sách tài sản như thế này như DefaultKeyBinding.dict:

{
    "~l" = selectParagraph:;
    "~z" = (selectParagraph:, delete:);
    "~x" = (selectParagraph:, cut:);
    "~c" = (selectParagraph:, copy:);
}

Sau khi mở lại các ứng dụng, ví dụ ⌥L nên chọn một dòng trong hầu hết các chế độ xem văn bản gốc. Nó không hoạt động trong Eclipse, Terminal hoặc Xcode. Để biết thêm thông tin, hãy xem bài viết Hệ thống văn bản ca cao hoặc trang web của tôi .

Một tùy chọn khác là sử dụng KeyRemap4MacBook và lưu một cái gì đó như thế này dưới dạng private.xml :

<?xml version="1.0"?>
<root>
<item>
<name>test</name>
<identifier>test</identifier>
<not>TERMINAL</not>
<not>EMACS</not>
<not>VIRTUALMACHINE</not>
<not>ECLIPSE</not>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::A, ModifierFlag::CONTROL_L, KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>test2</name>
<identifier>test2</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
</root>

Trong hầu hết các ứng dụng A di chuyển đến điểm bắt đầu của một dòng chưa được bao bọc và ⌘ ← di chuyển đến điểm bắt đầu của một dòng được bao bọc, nhưng ⌃A dường như không hoạt động trong Eclipse.

Xem nguồn cho các giá trị mã khóacài đặt được xác định trước .


1

Tôi đã tìm thấy một giải pháp có vẻ như đang hoạt động trên tất cả các ứng dụng Cacao: có các phím home& endhoạt động giống như các máy không phải của Apple (đi đến đầu / cuối của một dòng thay vì toàn bộ tài liệu).

Một tập tin ~/Library/KeyBindings/DefaultKeyBinding.dictcần phải chứa những điều sau đây:

{
    /* home */
    "\UF729"  = "moveToBeginningOfLine:";
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:";

    /* end */
    "\UF72B"  = "moveToEndOfLine:";
    "$\UF72B" = "moveToEndOfLineAndModifySelection:";
}

Nếu tệp hoặc thư mục không tồn tại, hãy sao chép đoạn mã trên vào ... bảng của bạn, mở Terminal và nhập hai lệnh sau:

mkdir ~/Library/KeyBindings
pbpaste > ~/Library/KeyBindings/DefaultKeyBinding.dict

Khởi động lại ứng dụng có thể được yêu cầu để nó hoạt động như mong đợi.


1

Tôi ngạc nhiên khi không ai nhắc đến cái này

Shift + CMD + mũi tên trái (hoặc mũi tên phải nếu bạn ở đầu)


Không, @heiglandreas đã đề cập (không rõ ràng, nhưng anh ấy đã làm) nó trong câu trả lời của mình. Xem viên đạn thứ hai.
C0deDaedalus

1

Một trong những lợi thế của macOS so với (WIN / Linux) là các phím bấm kiểu emacs toàn cầu trong hầu hết mọi hộp văn bản (một ngoại lệ là Microsoft Office cho Mac, định nghĩa lại các phím đó một cách khó chịu ...)

Liên quan đến câu hỏi này, tôi luôn sử dụng C-ađể đạt đến đầu dòng, C-S-eđể chọn cho đến hết dòng, sau đó 'CMD-c` để sao chép.

Nếu bạn tình cờ có một dòng (kết thúc bằng \ n) vượt qua nhiều dòng chữ, tôi thường sẽ làm như sau:

1) C-ađể đi đến đầu dòng

2) C-nđể bắt đầu dòng chữ tiếp theo

3) C-bđể trở lại một nhân vật

4) C-S-ađể chọn cho đến khi đầu dòng

5) CMD-cđể sao chép nội dung

Có thể là một giải pháp phức tạp, nhưng sẽ hoạt động trong hầu hết các hộp văn bản trong macOS.


0

control+ shift+aef

(gõ aef trong khi giữ Control và Shift)

Điều này cho kết quả tương tự như nhấp ba lần vào dòng hiện tại.

Lưu ý điều này bao gồm EOL trailing trong lựa chọn. Nếu đó không phải là những gì bạn muốn, hãy bỏ qua f .

Là một phần thưởng, sau f , nhấn n liên tục để chọn nhiều dòng.

Đã thử nghiệm trong Xcode và TextEdit.

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.