VIM nhận xét những gì tôi dán


14

Tôi đã nhận được điều này khi cố gắng sao chép ý chính này trên vim: https://gist.github.com/w0ng/3278077

nhập mô tả hình ảnh ở đây

Tôi nhận thấy hành vi tương tự ở mọi nơi: Nếu tôi dán một cái gì đó bao gồm một bình luận, tất cả mọi thứ sau bình luận đều được dán bình luận.

Có lẽ nó có liên quan đến thực tế là nếu tôi viết bình luận về chế độ chèn và nhấn enter, dòng sau sẽ tự động thêm một nhận xét.

Làm thế nào tôi có thể thoát khỏi hành vi này?

Câu trả lời:


26

Vào chế độ dán trước khi dán:

:set paste

Để chuyển về chế độ "bình thường":

:set nopaste

6
hoặc: đặt dán! để chuyển đổi :)
valbaca

@valbaca Bạn có thể sử dụng backticks để tạo code blockstrong các bình luận
Izkata

Tôi cần những lệnh đó theo cách ngược lại!

11

Bên cạnh pastetùy chọn được đề cập bởi Mat , bạn cũng có thể truy cập trực tiếp vào bảng tạm X từ VIM:

  • "*p để chèn lựa chọn X11
  • "+p để chèn clipboard X11

Bạn cần một phiên bản VIM có hỗ trợ X11 (trong Debian và các dẫn xuất của nó, bạn cần cài đặt vim-gtkhoặc vim-gnomegói).

Để biết thêm thông tin, xem tài liệu ( :help x11-selection).


6

Đây là những gì đang xảy ra. Có các tùy chọn định dạng Vim tự động nhận xét các dòng mới khi bạn đang ở trên một dòng nhận xét. Một số tùy chọn này thường được bật theo mặc định. Ví dụ,

# a comment<CR>
# 

Như bạn có thể thấy, dòng mới đã được tự động thêm vào một ký tự nhận xét. Bạn có thể vô hiệu hóa phần lớn các tùy chọn này bằng cách xóa crkhỏi cài đặt formatoptions. Xem :h fo-tableđể biết thêm thông tin về các tùy chọn này.

:set formatoptions-=cr

Vim không có cách phân biệt giữa văn bản được dán với cơ chế dán của trình giả lập thiết bị đầu cuối của bạn và văn bản mà bạn nhập. Đặt tùy chọn dán ( set paste) sẽ cho Vim biết văn bản đã dán và vô hiệu hóa mọi tùy chọn định dạng không mong muốn.


3

Yêu thích của tôi là sử dụng putlệnh.

  • :put* dán từ lựa chọn ở dòng hiện tại
  • :put+ dán từ bộ đệm tại dòng hiện tại

"*p/ "+pcũng tốt, nhưng :pu[t]có một số lợi thế:

  • nó luôn luôn dán theo chiều dọc
  • bạn có thể thêm một tham số bổ sung để kiểm soát vị trí cần chèn:
    • :$put+ dán sau dòng cuối cùng
    • :0put+ dán vào đầu tập tin

1

Là một câu trả lời phụ, Nếu bạn có bất kỳ tệp nào có tệp này, bạn có thể loại bỏ nó bằng cách vào chế độ khối dọc

ctrl+ vvà sau đó sử dụng các phím mũi tên / hjkl để điều hướng các phần bạn muốn xóa và sau đó chỉ cần nhấnd

Đôi khi tôi thấy điều này nhanh hơn việc hoàn tác chế độ dán cài đặt, dán và bỏ cài đặt chế độ dán.

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.