2012-03-31 16 views
11

Tôi đang tìm các khuyến nghị về việc sử dụng VIM như một IDE. Tôi thường viết mã bằng một số ngôn ngữ lập trình, bao gồm C, C++, assembler, MATLAB, Maple, BASH script, để đặt tên một vài. Nói chung, tôi thích sử dụng một IDE duy nhất cho phần lớn các dự án của tôi vì mục đích nhất quán, và tôi thấy rằng tôi thực hiện khoảng 90% mã hóa của tôi trong VIM, và đôi khi sử dụng Eclipse thay cho một số các dự án trong C/C++ (ví dụ: các dự án mà mọi người đã đặt cùng nhau như một dự án Eclipse, hoặc các dự án PIC24/32 từ www.microchip.com).VIM như một IDE - Đề xuất

Tôi đã rất quen thuộc với các chức năng cơ bản của VIM (cửa sổ vs bộ đệm, thao tác văn bản, kịch bản) và muốn sử dụng nó làm IDE chính của tôi. Tôi đã thực hiện một vài mẹo từ đây: http://vim.wikia.com/wiki/Use_Vim_like_an_IDE#Writing_Code

Tôi đã sử dụng plugin nerdTree để duyệt thư mục trong một dự án, v.v, nhưng tôi cần thực hiện điều gì đó về hoàn thành mã và độ phân giải biểu tượng. mối quan tâm.

  1. độ phân giải Symbol
    • Tôi có một số kinh nghiệm hạn chế trong việc sử dụng C-thẻ, và muốn có một gợi ý về những gì tôi nên sử dụng nếu tôi đang làm việc với một mã-base RẤT lớn thay đổi thường xuyên. Các dự án tôi làm việc thường là kéo các tệp tiêu đề từ ít nhất một tá dự án khác và tôi muốn có thể chuyển đến tệp nơi hàm, hằng số hoặc macro được xác định nhanh chóng (ví dụ: như CTRL-G trong Eclipse, "nhảy tới định nghĩa"), cũng như nhanh chóng nhận được danh sách tất cả các cuộc gọi/tham chiếu đến một hàm/macro/constant/etc (ví dụ: như tính năng CTRL-SHIFT-G trong Eclipse, "Hiển thị tất cả các tham chiếu trong dự án hoặc thư mục làm việc hiện tại ").
  2. Tab hoàn
    • Một trong những tính năng mà tôi thực sự thích trong Visual Studio và Eclipse, ví dụ, là khi tôi gõ vào một tên biến (ví dụ: con trỏ đến struct) và nó giải quyết các tên và các loại của tất cả các thành viên cấu trúc và cung cấp cho tôi một danh sách hoàn thành tab để chọn thành viên thích hợp. Họ cũng chỉ ra khi tôi đã sử dụng sai "." vs "->" để truy cập thành viên. Tôi đã thử superTab trong VIM, nhưng tôi không thể làm nó hoạt động được. Tôi cũng muốn các tính năng tab hoàn thành để sử dụng cùng một C-thẻ như được tạo ra bởi các plugin độ phân giải biểu tượng
  3. Xử lý xây dựng sản lượng
    • Mối quan tâm cuối cùng của tôi là có một danh sách tự động tạo ra các xây dựng cảnh báo và xây dựng lỗi. Khi tôi, ví dụ, chỉ cần chạy "làm cho tất cả" tại dấu nhắc dòng lệnh, nó là một nỗi đau phải đọc qua danh sách mã để tự tìm thấy tất cả các cảnh báo xây dựng.

Tôi nhận ra điều này là rất nhiều để hỏi, và rằng tôi có thể luôn luôn chỉ rơi trở lại để Visual Studio hoặc Eclipse, nhưng tôi thực sự muốn chỉ là một cross-platform biên tập phương thức giao diện điều khiển có khả năng đơn giản cho tất cả nhu cầu phát triển của tôi, và không có IDE chính nào ở đó lấp đầy nhu cầu này.

Cảm ơn mọi người trước.

+0

thể trùng lặp của [Làm thế nào tôi có thể làm cho VIM một fledged đầy đủ IDE] (http://stackoverflow.com/questions/7206469/how-can-i-make-vim- a-full-fledged-ide) –

Trả lời

7

tôi nghĩ (nhưng chưa được kiểm tra) mà Eclim thỏa mãn # 1 và # 2 trong khi tôi chắc chắn rằng Syntastic đáp ứng # 3. Nhiều điều quan tâm:

Và bạn có biết omnicompletion qua tổ hợp phím Ctrl -p và Ctrl-n (trước và sau) ở chế độ chèn? Đó không phải là hoàn thành mã, nhưng thường xuyên công việc.

+0

+1: Tôi sử dụng eclim, điều này là ** thực sự ** thay đổi cuộc sống cho tôi. Nó chắc chắn thỏa mãn # 1 và # 2. Nó hỗ trợ tái cấu trúc quá. (Tôi sử dụng eclim cho Java chỉ ngay bây giờ, cho C/C++ tôi sử dụng ctags + Indexer http://goo.gl/gkFPp, nhưng eclim có thể làm việc với các ngôn ngữ khác nữa. Tôi chỉ chưa thử nghiệm nó.) –

3

Đối với phần tự động hoàn thành (điểm 2), tôi sử dụng thành thạo clang_complete.

Đối với một thiết lập nhanh chóng và tài liệu tham khảo, hãy thử trang này: http://zwiener.org/vimautocomplete.html

EDIT: này là dành cho C, C++ và chỉ Objective-C.

2

tôi sử dụng cấu hình sau đây trong vim:

zipped file

Nó đã autocomplete dựa trên danh sách từ khóa, ctags, nerd commenter và một số plugins hơn.

Hy vọng nó sẽ giúp .. :)

+0

liên kết đã chết. – Bobby

+1

Tôi xin lỗi, nó hoạt động cho tôi. Tôi cũng đã thử trên trình duyệt khác. Dù sao, hãy thử điều này: [j.mp link] (http://j.mp/rajat_vim) hoặc [this] (https://www.evernote.com/shard/s134/sh/ffc9b220-54bc-42a0-8652 -a18b249a28aa/c706d140f6f00868ed1b5621028a308e) – prongs

+1

Liên kết cuối cùng của bạn hoạt động, cảm ơn. Ngoài ra, vui lòng ngừng sử dụng URL-Shorteners [chúng tôi đang gặp khó khăn] (http://meta.stackexchange.com/questions/99136/let-me-flag-that-for-you-url-shortener-cleanup) [loại bỏ chúng] (http://meta.stackexchange.com/questions/64450/ban-url-shorting-services). – Bobby

0

Tôi đã sử dụng Vim làm IDE trong khoảng một năm nay. Tất cả tùy chỉnh của tôi là online at github.

Điều đó nói rằng, tôi không nghĩ một người mới bắt đầu Vim nên bắt đầu sử dụng vim như thế này; thay vào đó tôi nghĩ rằng người mới bắt đầu Vim nên học vim dần dần. Những thay đổi duy nhất mà tôi nghĩ là rất cần thiết tôi sẽ làm cho họ ngay từ đầu là:

  1. Remap ESC để JK
  2. Switch: và;
  3. Set chủ chốt lãnh đạo đến,
+0

Đủ công bằng, nhưng tôi đã lưu ý rằng tôi đã sử dụng nó cho 90% dự án của mình, vì vậy tôi sẽ không đủ điều kiện để trở thành người mới bắt đầu xếp hạng. – DevNull

+0

@Dogbert xin lỗi, tôi đã không đọc đủ câu hỏi một cách cẩn thận! – jdg

+0

Không đổ mồ hôi. Chúc mừng! – DevNull