2010-03-17 29 views
14

vim hoặc vim có thể được sử dụng để nhận xét hoặc thụt lề cùng lúc với một số dòng? Ví dụ:Thụt lề hoặc nhận xét một số dòng văn bản có vi

for item in Lista: 
    ind = int(floor(1.0*(item-lmin)/width)) 
    if ind==nintervals: 
     ind=ind-1 
    print item,ind 

bình luận nó để:

#for item in Lista: 
    #ind = int(floor(1.0*(item-lmin)/width)) 
    #if ind==nintervals: 
     #ind=ind-1 
    #print item,ind 

hoặc thụt nó để:

for item in Lista: 
     ind = int(floor(1.0*(item-lmin)/width)) 
     if ind==nintervals: 
      ind=ind-1 
     print item,ind 

P.D. Có liên quan sự khác biệt giữa VI và VIM không?

+1

Sự khác biệt giữa vi và vim được thảo luận tại đây: http://stackoverflow.com/questions/1159206/difference-between-vi-vim Chỉ cần nhớ, những ngày này (trừ khi bạn đang làm việc trên nền tảng cũ điên rồ) bạn có vim, không vi. Vim thường được cài đặt với vi bí danh để vim, và tùy chọn 'tương thích' làm cho nó" vi tương thích ", mà về cơ bản có nghĩa là tắt tất cả các tính năng tốt được thêm vào trong vim. – Cascabel

+1

Thông tin thêm về các dòng thụt lề trong Vim tại đây: http: // stackoverflow.com/questions/2332340 –

Trả lời

35

đây là một cách khác.

  1. dòng khối với ctrl+v
  2. dấu Insert comment (//) với I
  3. thoát với ESC

gõ phím quan trọng là

ctrl+vjjjjI//ESC

+1

Bây giờ, bạn có thể vui lòng cho chúng tôi biết cách bỏ ghi chú sau này không .. –

+2

Đừng bận tâm tôi tìm thấy nó .. 'ctrl + v' ->' l' -> 'd' Nếu có tôi tốt hơn ' Tôi muốn biết. –

+4

Khi tôi bấm I (i vốn), nó sẽ ở chế độ chèn trên dòng đầu tiên của khối. – Syl

0

Đặt con trỏ trên dòng đầu tiên, đếm có bao nhiêu dòng nên được thụt vào, trong ví dụ trên đó là 5, sau đó cho băm (#) gõ :.,.+5%s/^\([ <tab>]*\)/#\1/<enter> hoặc cho một thụt đầu dòng tab, :.,.+5%s/^\([ <tab>]*\)/<tab>\1/<enter>, <tab> và < nhập > là tab và nhập các phím.

Có lẽ có nhiều cách thanh lịch hơn để làm điều này, nhưng một cái gì đó như thế này là một điều nhanh chóng-n-bẩn.

14

Để bình luận, báo chí vốn V để vào chế độ ĐƯỜNG DÂY VISUAL, chọn tất cả các dòng, sau đó nhấn : để vào chế độ lệnh và sử dụng lệnh (lưu ý VIM rằng đã bao gồm '<,'> dấu cho bạn):

:'<,'>s/^/#/ 

Nếu bạn thích dấu băm gần các văn bản, và không ở gần lề trái, lệnh này là:

:'<,'>s/^\(\s*\)/\1#/ 

Để thụt, chọn bl ock giống nhau, sau đó nhập > để thụt lề, < để hủy liên kết.

+1

Btw, để thêm '//' thay vì '#' vào đầu dòng, bạn chỉ cần thay thế '#' bằng '\/\ /' như thế này ':' <,'> s/^/\/\ // 'sau khi bạn đã thực hiện' Ctrl + v' (hoặc 'V') và': 'trên các dòng bạn muốn nhận xét khối. – Armfoot

0

Để nhận xét bạn có thể sử dụng lựa chọn CHUỘT VISUAL (Ctrl-V) và chọn sự khởi đầu của các dòng, sau đó nhấn Shift-I và viết một #. Sau khi nhấn Esc, tất cả các dòng sẽ lấy #.

0

giải pháp thông thường của tôi là:

<ESC> 
<q><a> => start a macro and save it as macro a 
<^> => to get to the start of the line 
<i> => insert mode 
<#> => Add the # 
<ESC> => End insert mode 
<down> => Move to the next line 
<q> => End macro 

Sau đó, một lần:

<[at]><a> => repeat macro a 

Sau đó, chỉ cần lặp lại < [at]> < [at]> (lặp lại cuối cùng thực hiện macro) cho đến khi tất cả các dòng được nhận xét . Bạn chỉ có thể giữ < [at]> và để bàn phím lặp lại làm phần còn lại.

BTW: Làm thế nào để bạn viết ký tự [at] tại đây mà không cần stackoverflow biến nó thành "> blockquote"?

Để thụt lề:

[shift] + [v] => line select mode 
[down] => until all lines to indent are selected 

thì:

[>] => indent once 

hay:

[2..x][>] => indent 2..x levels 
1

Chọn dòng sử dụng chế độ hình ảnh.

  • Để thụt một lần gõ >> hoặc << để thụt phải hoặc trái tương ứng. Để thụt lề n lần nhập n>> hoặc n<<.

  • Để nhận xét ra làm thay thế các đầu dòng với lời nhận xét:

    : '<,'> s/^/#/

'<,'> có nghĩa là "từ đầu cho đến khi kết thúc.

s/^/#/ thay thế đầu của mỗi dòng trong phạm vi bằng #, giả sử # làm cho một dòng thành nhận xét

4

loại :set number. lưu ý số đầu và dòng kết thúc của khối bạn muốn nhận xét. sau đó làm một loạt thay địa chỉ, ví dụ

:12,17s/^/#

+0

Hoặc sử dụng 'V' ở chế độ bình thường để trực quan chọn một dòng, sử dụng 'j/k' để chọn nhiều dòng và sử dụng ': <,> s/^/#' ở chế độ cũ. EDIT: Rất tiếc, chỉ thấy điều này đã được đề cập trong câu trả lời trước đó. –

+0

Đây là giải pháp duy nhất tôi có thể làm việc trong Ubuntu 16.04. Các tùy chọn ctrl + v sẽ thất bại sau ca i. – Matt

2

Tôi biết có một zillion câu trả lời ở đây đã giải thích làm thế nào để sử dụng >< cho indentation, vì vậy tôi sẽ không bận tâm với điều đó. Đối với việc bình luận, mặc dù, trong khi bạn có thể làm điều đó nhanh chóng và bẩn với một chèn khối hoặc thay thế một, bạn có thể làm cách tốt hơn với NERD Commenter plugin. Nó cung cấp các lệnh để bình luận và bỏ ghi chú theo nhiều cách khác nhau, nó biết biểu tượng bình luận để chèn dựa trên cú pháp, và nó có thể làm các bình luận nhiều dòng nếu ngôn ngữ hỗ trợ chúng.

2

Rất nhiều câu trả lời ở đây, tất cả đều có chủ đề. Cách tốt nhất để làm điều đó thực sự phụ thuộc vào ngữ cảnh (vì bối cảnh xác định phương thức điều hướng dễ nhất), vì vậy tôi sẽ đưa ra một số giả định về ngữ cảnh. Nếu phần bạn muốn thụt hoặc nhận xét là một đoạn văn duy nhất (ví dụ, bạn muốn thụt hoặc nhận xét mọi thứ từ con trỏ đến dòng trống kế tiếp), bạn có thể thụt với:

 
>) 

Nếu con trỏ là không phải trên sự bắt đầu của đoạn văn, nhưng phần bạn muốn thụt là một đoạn duy nhất và con trỏ là ở giữa, sử dụng

 
>ip 

Cuối cùng, giả sử bạn muốn canh lề một khối mã giới hạn bởi {} và con trỏ nằm ở giữa khối đó. Sử dụng

 
>i{ 

Để bình luận, trong mỗi trường hợp chỉ cần thay thế > với v và sử dụng các lệnh trên để thực hiện một lựa chọn khối, sau đó làm một văn bản thay thế như s/^/# /.

Chìa khóa là các lệnh điều hướng. Tôi rất khuyên bạn nên

 
:help v_a 
3

Tương tự như các câu trả lời được chấp nhận, nhưng dễ dàng hơn cho các khối hoặc đoạn văn:

  1. Khối dòng: Ctrl + V
  2. Chọn đoạn: }
  3. chế độ
  4. Insert: I (chữ hoa i)
  5. Nhập ký tự để chèn: # (với không gian sau khi char, không Enter)
  6. Press: ESC

này tự động nên hoàn thành các nhân vật trong tất cả các khối chọn. Về cơ bản diference với câu trả lời được chấp nhận là thay vì sử dụng j đi xuống từng dòng bạn sử dụng } để chọn toàn bộ đoạn văn (hoặc bạn có thể sử dụng G cho cuối tập tin, cho ex

phiên bản ngắn:.

Ctrl + V + } + I + # + ESC

0

Nếu bạn đang sử dụng Python (hoặc các ngôn ngữ khác sử dụng # như bình luận), một cách nhanh hơn để bình luận nhiều dòng sẽ là:

  1. Nhập chế độ chặn hình ảnh (Ctrl+v) từ đầu dòng.
  2. Chuyển xuống khi cần (j nhiều lần).
  3. Thay thế không gian bằng # bằng cách nhấn r rồi #.

Để bỏ ghi chú, hãy thực hiện tương tự nhưng đối với bước ba hãy thay thế bằng không gian.

Các vấn đề liên quan