Cấu hình Vim cho C ++


118

Tôi muốn tạo vim trình soạn thảo C ++ của mình. Tôi có rất ít kinh nghiệm làm việc với nó và cần trợ giúp trong việc định cấu hình vim để hoạt động với C ++. Tôi cần các tính năng như

  • code-complete (cho stl và cho các lớp của tôi)
  • chuyển đổi giữa các tệp .cc và .h
  • có thể là một số thủ thuật khác mà bạn, C ++ và vim guru, có.

Bạn có thể cung cấp một số cấu hình (kèm theo giải thích) hoặc liên kết đến hướng dẫn, plugin mà tôi có thể sử dụng không?


7
+1 cho sự khổ sở tuyệt đối khi muốn sử dụng vim làm IDE của bạn :) vim có những công dụng của nó (đặc biệt là để chỉnh sửa tệp từ xa theo kinh nghiệm của tôi), nhưng bất kỳ ai thực sự muốn sử dụng nó để chỉnh sửa mã đều có chutzpah trong quan điểm của tôi.
Stuart Golodetz

38
@sgolodetz: Có khá nhiều người mắc bệnh chutzpah ngoài kia.
Cascabel

1
@Jefromi: Đúng vậy, tôi nhận ra điều đó :) Mặc dù vậy, nó luôn có vẻ giống như khổ dâm đối với tôi ... theo một cách hơi đáng ngưỡng mộ.
Stuart Golodetz

4
Khi nhìn lại, tôi đoán việc đăng tương đương với câu "Tôi hơi nghi ngờ về vim" trên một bài đăng có khả năng được nhiều người đam mê vim thường xuyên có thể có một chút khiêu khích - nó có nghĩa là một lời nói- bình luận má hơn là bắt đầu một cuộc tranh cãi.
Stuart Golodetz

1
Tôi đã đưa ra câu trả lời này ban đầu bị hạn chế trong phát triển C. Tuy nhiên mọi điều tôi đã nói vẫn có giá trị đối với C ++.
Luc Hermitte

Câu trả lời:


142

Chỉnh sửa: Cập nhật vào tháng 7 năm 2013


Tôi đã sửa liên kết đến bộ ftplugins C & C ++ của mình. Cảm ơn các "doanh quảng cáo" :)
Luc Hermitte

Ngoài ra, tôi có thể giới thiệu plugin FSwitch thay vì plugin A.
W55tKQbuRu28Q4xv

1
LhCpp Lục là không tương thích với vundle (Tôi nghĩ do repo svn) và không có quá trình cài đặt Tôi thích cá nhân - đề nghị kiểm tra ra github.com/Raimondi/delimitMate
netpoetica

2
+1 một câu trả lời rất hoàn chỉnh (và cập nhật) xứng đáng có được nó, thật vui khi thấy một số thành viên ẩn dật hơn đăng những câu trả lời tuyệt vời này. Câu trả lời của bạn kỹ lưỡng đến mức nào, khá hữu ích, đồng thời không gây choáng ngợp, ngay cả với người dùng vim mới.
osirisgothra

1
Còn về vim-rtags? Nó tốt cho điều hướng mã c ++, có chức năng đổi tên.
P4C

8

Tôi đang sử dụng vimlàm trình soạn thảo C ++ của mình, tuy nhiên tôi không sử dụng nhiều thứ 'kỳ lạ'.

  • Về việc hoàn thành, tôi đang sử dụng ^P^N.
  • Tôi có một loạt các từ viết tắt do người dùng xác định cho việc sử dụng C ++ của mình, ví dụ:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • Tôi có một số chức năng cho "đoạn mã" như những thứ, ví dụ:

    function! IncludeGuard()
      let basename = expand("%:t:r")
      let includeGuard = '__' . basename . '_h__'
      call append(0, "#ifndef " . includeGuard)
      call append(1, "#define " . includeGuard)
      call append(line("$"), "#endif /* !" . includeGuard . " */")
    endfunction
  • Plugin duy nhất tôi thực sự không thể sống thiếu là Command-T (yêu cầu hỗ trợ ruby)

  • Để dễ dàng .ccđể .hchuyển đổi, bạn có thể thử plugin này

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.