Có thể yank toàn bộ khối mã Python trong Vim không?Làm thế nào để yank toàn bộ một khối trong Vim?
Hãy cho nó một def
, for
, if
vv khối ...
Có thể yank toàn bộ khối mã Python trong Vim không?Làm thế nào để yank toàn bộ một khối trong Vim?
Hãy cho nó một def
, for
, if
vv khối ...
Bạn có thể yank một đoạn văn với y}
. Điều này sẽ không yank tất cả các phương pháp nếu bạn có một dòng trống mặc dù.
Bạn có thể sử dụng Ctrl-v và y} để xem các dòng nào sẽ được kéo mạnh. Bạn có thể nhấn} khi bạn muốn bao gồm khối của mình. – noomz
Có một tập lệnh bổ sung vim python_fn.vim trong đó có một trong các chức năng của nó, một ràng buộc quan trọng để chọn một khối mã Python bằng cách sử dụng ]v
. Sau đó bạn có thể yank nó với y
như bình thường.
Tôi thường chỉ sử dụng chế độ chặn hình ảnh. Shift-V, di chuyển và 'y'ank khối được đánh dấu. Chỉ có rất nhiều phím tắt tôi có thể giữ trong bộ nhớ cùng một lúc :)
Đây là những gì tôi thường làm, tôi không nghĩ đó là cách tốt nhất, nhưng nó đủ dễ dàng để làm với một tế bào não :) –
lựa chọn hình ảnh cũng rất hữu ích cho thụt đầu dòng/dedenting khối sử dụng> và < –
bạn có thể kết hợp một tìm kiếm với yank, vì vậy nếu chức năng của bạn kết thúc với return retval
bạn có thể gõ y/return retval
Nếu bạn muốn yank tất cả mọi thứ trừ số {
sử dụng yi{
(hoặc yi}
). Nếu bạn đưa dấu ngoặc nhọn vào, hãy sử dụng ya{
(hoặc ya}
).
Các i
và a
bổ nghĩa trong và tất cả.
Để yank một từ bất cứ đâu trong từ bạn là: yiw
Để yank nội dung của dấu ngoặc đơn: yi)
; nếu bạn muốn bao gồm họ, sử dụng ya(
Bạn có thể làm tương tự cho "
hoặc '
với yi"
, ya"
hoặc yi'
và ya'
.
Tất nhiên, bạn không bị giới hạn khi giật mình. Bạn có thể xóa một từ với diw
hoặc thay đổi nó với ciw
, vv ... vv ...
Tuyệt vời cho một ngôn ngữ C. Tôi nghĩ rằng câu hỏi đã được cụ thể cho python mặc dù. – bluehavana
Ngoài ra còn có 'p' để yank đoạn văn hiện tại (đó là bất kỳ thứ gì được phân tách bằng các dòng trống phía trên bên dưới). 'yip' yanks toàn bộ đoạn văn và' yap' yanks toàn bộ đoạn + dòng trống sau. Điều này rất hữu ích nếu con trỏ của bạn đã ở đâu đó bên trong đoạn bạn muốn giật. –
tôi đã thực hiện một plugin tên spacebox mà hiện một lựa chọn trực quan của tất cả các dòng với sự thụt vào cùng một hoặc nhiều như dòng hiện tại.
Với khoảng trống Python là cách của nó, bạn có thể đặt con trỏ trên dòng bên dưới def
hoặc if
và ra lệnh :SpaceBox
để chọn "chặn" của bạn.
Bộ tiện ích bổ sung tuyệt vời Python-mode bao gồm một số key commands để điều hướng lớp học, phương pháp và khối chức năng.
Để yank một phương pháp: ymộtM (phương pháp nội: yiM)
Để yank một lớp: ymộtC
Có chuyển động tiện dụng khác, như chuyển từ chức năng-to-function (]]). Xem số complete list of keys để biết thêm.
Chỉ cần gấp lớp bằng za và sau đó sử dụng chế độ trực quan (V) để chọn lớp đã thu gọn. Bằng cách này bạn không cần phải cuộn quá nhiều. Sau đó, chỉ yank với y. Khi bạn đang thực hiện yanking mở ra lớp với za một lần nữa.
Esc
shift V
để vào chế độ dòng visuald
để xóa các hàng chọnp
để dán các dòng sau hàng hoặc nhấn shift P
để dán trước một hàngHy vọng điều đó sẽ hữu ích.
vim-indent-object hoạt động khá tốt. Đáng để thử.
"Thuộc về superuser.com", có thể? Tôi không chắc chắn ... –
Không đồng ý, đây là về việc sử dụng một công cụ phần mềm trong một quá trình phát triển cụ thể (mã hóa Python), xem http://meta.stackexchange.com/questions/12373/which- các loại câu hỏi liên quan đến chương trình có liên quan/12378 # 12378 –