2010-01-25 8 views
18

Một trong những tính năng đẹp hơn trong MacVim là có thể sử dụng lệnh OS thông thường để sao chép và dán văn bản (cụ thể là command + C và command + V) trong đó.Sử dụng SHIFT + Mũi tên để chọn văn bản trong vim/MacVim

Điều này đặc biệt tốt trong các trường hợp khi bạn làm việc trong một trình chỉnh sửa khác chỉ một phút trước và bộ não của bạn chưa sẵn sàng tư vấn cho ngón tay của bạn về cách nhập nội dung thực.

Tuy nhiên, có một điều mà bộ não của tôi cần làm một chút suy nghĩ về: Đó là chế độ chọn văn bản. Trong trình chỉnh sửa không phải là vi phạm, tôi sẽ sử dụng Shift + Arrow cho việc này và thử tính năng này trong MacVim không hoạt động. Nhưng mặt khác nó không nhìn vào tôi rằng Shift + Arrow đang được sử dụng cho bất cứ điều gì khác. Có thể remap các phím để làm cho điều này có thể?

(Lý tưởng nhất, các biên tập viên sẽ vẫn ở chế độ chèn sau khi chọn văn bản, đó sẽ tha cho một số nét chính bổ sung.)

+1

Câu hỏi hay, nhưng tôi bị cám dỗ khuyên bạn nên chuyển sang Super User làm câu hỏi về cấu hình chương trình. Các vấn đề rất giống với các emacs như được thảo luận ở đây: http://meta.stackexchange.com/questions/36017/what-site-should-host-questions-about-emacs-keybinding trên meta. – dmckee

+0

Bạn có muốn ở chế độ chèn sau khi lựa chọn vì bạn đang thay thế lựa chọn (như khi bạn nhấn 'c' để xóa lựa chọn và nhập chế độ chèn), hoặc vì một lý do khác? Dường như với tôi rằng nếu bạn có một lựa chọn, bạn đang ở chế độ trực quan, và do đó không thể ở chế độ chèn. – Jay

+0

Tôi muốn ở chế độ chèn vì tôi không muốn rời khỏi chế độ chèn trừ khi thực sự cần thiết. Trong trình soạn thảo văn bản ‘bình thường’ khi bạn chọn văn bản, bạn cũng sẽ ở chế độ chèn. Đó là nhiều hơn cho lý do 'chuyển tiếp'; và như tôi đã nói, sao chép và dán (và thậm chí lưu) thông qua phím Command cũng hoạt động ở chế độ chèn. – Debilski

Trả lời

25

Từ hướng dẫn:

biên tập văn bản trên Mac OS X cho phép người dùng giữ phím shift + phím di chuyển để mở rộng lựa chọn. Ngoài ra, nhấn phím có thể in trong khi chọn thay thế lựa chọn hiện tại bằng ký tự đó. MacVim có thể mô phỏng hành vi loại này (bằng cách cung cấp các ràng buộc chính và bằng cách đặt 'keymodel' và 'selectmode' thành giá trị không mặc định ) mặc dù nó không được kích hoạt theo mặc định . Để làm MacVim hành xử như TextEdit và ít như Vim, thêm các dòng sau đây để "~/vimrc" tập tin của bạn (.gvimrc không):

if has("gui_macvim") 
    let macvim_hig_shift_movement = 1 
endif 
+0

Tuyệt vời. Cảm ơn rất nhiều. Có vẻ như đó chính là điều tôi đang tìm kiếm. – Debilski

+3

Một chút phiền toái là mặc dù bây giờ tôi sẽ cần phải bấm phím ngay cả trong chế độ trực quan khi sử dụng các phím mũi tên. Thời gian để quen với ‘hjkl’… – Debilski

6

Là một lưu ý đến bản thân và một gợi ý gọn gàng cho người khác:

Vì SHIFT + Chọn mũi tên và chọn chuột bây giờ sẽ tự động bắt đầu chế độ SELECT, điều này có vẻ không dễ dàng để thực hiện lựa chọn VISUAL bằng cách sử dụng các phím mũi tên hoặc chuột. (Ngay cả khi đã ở chế độ VISUAL một lựa chọn chuột sẽ vẫn kích hoạt chế độ SELECT.) Vì vậy, bất cứ khi nào một người muốn áp dụng các lệnh cho lựa chọn, phương pháp sau sẽ giúp.

  • Bôi đen văn bản bằng chuột hoặc SHIFT + mũi tên
  • Bỏ chọn bằng cách nhấn ESC
  • Nhấn gv để tự động chọn lại lựa chọn trước và kích hoạt VISUAL chế độ

Edit: Cùng thể được thực hiện chỉ bằng CTRL + g.

+2

Bạn có thể thêm 'set selectmode =' để tránh vào chế độ SELECT theo mặc định. Sử dụng Ctrl + g để chuyển đổi giữa chế độ SELECT và VISUAL. – kennytm

+0

Cá nhân tôi thích được chọn trong chế độ chọn khi sử dụng phím mũi tên SHIFT + phần lớn thời gian; nhưng Ctrl + g là một ý tưởng hay. Một chút đơn giản hơn 'ESC, g, v'. – Debilski