2010-07-25 34 views
5

Có người quản lý dự án/phiên làm việc tốt cho vim không? A phiên (hoặc dự án) là danh sách tệp được đặt tên, ví dụ: "bitonic_sort" có thể xác định tệp "~/A/bitonic_sort.sk", "~/B/bitonic_sort.smt2", v.v.Trình quản lý phiên/phiên đệm (tương thích với Linux) tốt nhất cho Vim là gì?

(lý do) Tôi có một dự án cần chỉnh sửa tệp từ nhiều vị trí, và nó là quá cồng kềnh để mở chúng bằng tay mỗi khi tôi tiếp tục công việc. (Vì vậy, có vẻ như những thứ như nerdtree đã được nêu ra tại câu hỏi chị em này, Favorite (G)Vim plugins/scripts?, sẽ không hoạt động). Tôi cũng cần các phiên riêng biệt (nghĩa là danh sách tệp) cho các dự án khác nhau, không chỉ danh sách tài liệu gần đây.

Sau khi tất cả tài liệu được tải dưới dạng bộ đệm, mọi cải tiến để chuyển đổi giữa chúng là dấu cộng (ví dụ: bắt đầu nhập tên và tài liệu phù hợp được hiển thị). Cảm ơn trước.

Trả lời

7

Vim có trình quản lý phiên được tích hợp sẵn. Để lưu sử dụng phiên hiện tại của bạn:

:mks session1.vim 

Điều này về cơ bản tạo tập lệnh Vim có tên session1.vim, mà sẽ khôi phục tập tin mở của bạn nếu bạn nguồn nó hoặc bắt đầu Vim như thế này:

vim -S session1.vim 

Để ghi đè lên phiên đã lưu của bạn, sử dụng :mks! your_saved_session.vim. Kết hợp với bản đồ khóa tùy chỉnh và đây sẽ là giải pháp. Để biết thêm về phiên Vim, hãy đọc :help :mks. Vim cũng có lượt xem trình quản lý tương tự. Đọc thêm từ: :help :mkview

Để chuyển đổi giữa các bộ đệm, bạn có thể sử dụng FuzzyFinder; nhưng tôi thích bản đồ chính này:

nmap <C-tab> :bn<CR> 
imap <C-tab> <ESC>:bn<CR>i 

Thêm nó vào .vimrc và tôi có thể sử dụng Ctrl + Tab để chuyển giữa các bộ đệm giống như các tab Firefox. Hy vọng điều này giúp đỡ.

+0

Tuyệt vời, cảm ơn! Tôi làm việc với một _lot_ của các tập tin, và FuzzyFinder có vẻ tuyệt vời! Một điều nhỏ - hoàn thành tên tập tin của vim là hữu ích, nhưng tôi muốn nó chỉ lưu phiên hoạt động khi thoát ... bạn có biết làm thế nào để làm điều này? – gatoatigrado

+2

Vâng, đó là một ý tưởng tuyệt vời. Sau khi Googling một chút tôi tìm thấy kịch bản Vim này [vim-session] (http://github.com/xolox/vim-session). Nó đi kèm với một số tính năng bổ sung mà tôi không cần, vì vậy tôi mượn một số mã và đi lên với điều này: 'au VimLeavePre * nếu v: this_session! = '' | exec "mks!" v: this_session | endif' .Thêm điều này vào .vimrc và phiên hiện tại của bạn sẽ được lưu tự động khi thoát. – tungd

+0

Wow, bạn thật tuyệt vời, cảm ơn rất nhiều !!! – gatoatigrado

2

Tôi không chắc chắn chính xác những gì bạn đang yêu cầu cho ... nhưng nếu bạn muốn bật tab động hoàn thành khi mở tập tin trong vim, thêm video này vào ~/.vimrc của bạn:

" Auto-complete file names after <TAB> like bash does. 
set wildmode=longest,list 
set wildignore=.svn,CVS,*.swp 

Ngoài ra, hãy xem screen. Từ trang người đàn ông:

Khi màn hình được gọi, nó tạo ra một cửa sổ duy nhất với một vỏ trong đó (hoặc lệnh quy định) và sau đó được ra khỏi con đường của bạn để bạn có thể sử dụng chương trình như bạn sẽ bình thường. Sau đó, bất cứ lúc nào, bạn có thể tạo cửa sổ mới (toàn màn hình) với các chương trình khác trong đó (bao gồm nhiều vỏ), giết các cửa sổ hiện có, xem danh sách cửa sổ, bật và tắt ghi nhật ký, sao chép và dán văn bản giữa các cửa sổ , xem lịch sử cuộn, chuyển đổi giữa các cửa sổ theo bất kỳ cách nào bạn muốn, vv Tất cả các cửa sổ chạy chương trình hoàn toàn độc lập với nhau. Các chương trình tiếp tục chạy khi cửa sổ của chúng tôi hiện không hiển thị và ngay cả khi toàn bộ phiên màn hình được tách ra khỏi thiết bị đầu cuối của người dùng. Khi một chương trình chấm dứt, màn hình (theo mặc định) sẽ giết cửa sổ chứa nó. Nếu cửa sổ này ở phía trước, màn hình sẽ chuyển sang cửa sổ trước đó; nếu không có mục nào, hãy thoát khỏi màn hình .

Nó giống như mở nhiều xterms, ngoại trừ xterms đồ họa, bạn có thể truy cập phiên màn hình nếu bạn truy cập máy từ xa (ví dụ: sshing với nó). Bạn có thể bỏ qua một số trường hợp khác nhau của vim trong các màn hình riêng biệt với tất cả các tệp bạn muốn mở và không bao giờ thoát chúng.

Thiết lập cơ bản tôi sử dụng là một cửa sổ vim, một cửa sổ biên dịch và một cửa sổ kiểm tra/gỡ lỗi.


Và kể từ khi chúng tôi nói về vim, hãy xem bài đăng này: Post your Vim config. Rất nhiều chỉnh sửa và công cụ tuyệt vời trong đó.

+0

Tôi muốn có một "dự án"/"phiên" khái niệm (tên danh sách các tập tin , ví dụ: "dự án sắp xếp bitonic"), có thể với danh sách tài liệu thay thế/trình chuyển đổi. Vui lòng làm rõ câu hỏi nếu có điều gì đó không rõ ràng. Màn hình là một ý tưởng tốt, tôi sẽ phải học rằng đôi khi :) – gatoatigrado

+0

Ồ, duh, giống như IDE có. Tôi không biết làm thế nào để làm điều đó. –

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