Vô hiệu hóa thụt lề một phần HTML trong Vim


9

Hãy cẩn thận: Tôi không phải là một nhà phát triển web.

Điều đó đang được nói, hiếm khi tôi phải chỉnh sửa HTML. Khi tôi làm, tôi đã nhận thấy một hành vi trong Vim mà tôi không thích và hy vọng rằng tôi có thể thay đổi thông qua cấu hình.

Khi tôi viết mã, tôi có xu hướng bọc các dòng ở 80 ký tự. Điều này thường có nghĩa là tôi phải chia các thẻ HTML trên các dòng. Những gì tôi muốn là một số thụt đầu dòng hợp lý khi điều này xảy ra. Vì vậy, ví dụ, tôi có thể có đoạn mã sau và muốn nó được thụt lề tương tự:

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg"><img
   src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
   class="ri" alt="This is an image"></a>

Nhưng theo mặc định, tính năng tự động của Vim sẽ thụt các thẻ HTML được chia thành cùng cấp với thẻ HTML bắt đầu trên dòng trước đó. Nói cách khác, tôi nhận được một cái gì đó như sau:

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg"><img
                                                              src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
                                                              class="ri" alt="This is an image"></a>

Đó là, chính xác, những gì tôi không muốn. Khi tôi đang gõ, tôi thấy tôi liên tục phải quay lại và sửa các vết lõm như thế này.

Tôi thích tính tự động của Vim nói chung và không muốn vô hiệu hóa nó một cách phổ biến. Tôi chỉ muốn vô hiệu hóa hoặc thay đổi thụt thẻ HTML tách, nhưng tôi không thể tìm ra cách.

Có thể thay đổi điều này?

(Tôi đã thử tìm kiếm Stackoverflow cho câu hỏi này, nhưng không thể tìm thấy nó. Nếu đó là một bản sao, vui lòng chỉ cho tôi bản gốc.)

EDIT: Giải pháp đã được tìm thấy tại đây https://www.reddit.com/r/vim/comments/3ogbna/diseac_partial_html_indentation_in_vim/cvy8p3u

EDIT # 2: Được rồi, giải pháp trên không giải quyết được vấn đề. Nó vẫn ở đó.


1
Tôi thấy đáng ngạc nhiên về ví dụ thụt lề mà bạn đã đưa ra trong đoạn trích cuối: Tôi đã thử nó trên bản cài đặt Homilla của vanilla (phiên bản 7.4) và nó hoạt động như tôi mong đợi: khi tôi nhấn <Enter> ở cuối dòng, với autoindentvim được bật thụt dòng tiếp theo là dòng mà tôi vừa kết thúc. Vì vậy, tôi đoán là bạn có thể có một plugin làm thay đổi mô hình thụt lề mặc định.
Vlad GURDIGA

@VladGURDIGA, vâng, tôi bắt đầu nghi ngờ điều đó. Tôi sẽ phải đi sâu vào vimrc của tôi và xem những gì tôi có thể đưa ra.
Vimrc

đồng thời kiểm tra ~ / .vim / vì bất cứ thứ gì cũng được tải, thường là ftplugins, màu sắc và những thứ tự động tải khác. 8-)
Vlad GURDIGA

Tôi cũng đã hỏi trên reddit và nhận được câu trả lời này, hóa ra là sửa nó reddit.com/r/vim/comments/3ogbna/ ,. Tôi sẽ cập nhật câu hỏi của tôi cho phù hợp.
criswell

Đẹp! Cảm ơn bạn đã theo dõi! :)
Vlad GURDIGA

Câu trả lời:


4

Tôi khuyên dùng plugin tidy-html5 .


Là một nhà phát triển web, tôi cũng khuyên bạn nên căn chỉnh các thẻ HTML một chút khác nhau,

AirBnb React Styleguide (dễ đọc nhất)

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg">
  <img
    src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
    class="ri"
    alt="This is an image"
  >
</a>

Google HTML Styleguide (phổ biến hơn)

<a href="http://someverylongurl.com/foo/bar/blaz/SinwzvO.jpg">
  <img src="http://someverylongurl.com/foo/bar/blaz/Sinwzv0.jpg"
       class="ri" alt="This is an image">
</a>

Điều này thực sự sẽ giúp các formatters tránh những vết lõm điên rồ.

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.