2009-12-11 32 views

Trả lời

4

Không, bạn không thể thực hiện thao tác mặc định khi kéo và thả trong khi triển khai ứng dụng cửa sổ (OLE DoDragDrop). Nó đã không được thực hiện để mở các tập tin bị bỏ trong một tab mới và do đó sẽ không. Nhưng gVim là mã nguồn mở ... vì vậy bạn có thể gửi bản vá nếu bạn thực sự muốn điều này :)

5

Bạn có thể bắt đầu bằng cách gõ :tabe và sau đó kéo và thả các tập tin của bạn. Tôi không thể hoàn toàn xác nhận điều này (tôi chỉ có một mac) nhưng tôi nghĩ rằng điều này sẽ kết thúc với :tabe filename được hiển thị. Sau đó, bạn có thể nhấn enter and off you go ...

+0

đó làm việc, nhưng tôi không muốn phải "chuẩn bị" trình biên tập để có được một tập tin mới. Có cách nào để thực hiện hành động mặc định đó cho 'thả' không? – wes

+0

ok, hãy thử câu trả lời khác của tôi về kích thước :) – Peter

+0

Điều này không thực sự tốt hơn là chuẩn bị bằng cách chỉ mở một tab mới (': tabnew'), sau đó thả tệp vào tab mới. –

2

Mở tệp mới trong gvim không thay thế tệp hiện đang mở. Tệp mới được mở trong bộ đệm mới và bộ đệm đó được hiển thị. Bạn có thể chuyển đổi giữa các vùng đệm bằng cách sử dụng lệnh :b. Trong trường hợp của bạn, bạn có thể chỉ cần thả tệp, sau đó tạo tab mới với :tabedit và chuyển bộ đệm tab đó thành bộ đệm bạn muốn với :b <filename>. Tất nhiên đó không phải chính xác những gì bạn đang tìm kiếm, nhưng nó đủ cho tôi.

1

Bạn có thể đặt tùy chọn sau vào vimrc. VIM sẽ mở tệp bằng tab mới. Bạn cũng có thể kéo và thả vào gVim, nó sẽ mở trong tab mới. Nó làm việc cho tôi, tôi cũng đang sử dụng trên Windows 7.

: au BufAdd, BufNewFile * lồng tab sball

+1

Thông tin thêm [ở đây] (http://vim.wikia.com/wiki/Open_every_buffer_in_its_own_tabpage) tiếc là nó làm hỏng những thứ khác. Ví dụ: nếu tôi tải một phiên đã lưu, nó sẽ tải các tệp hai lần. Hoặc nếu một bộ đệm được tải nhưng hiện không có trong một tab, sau khi kéo một tệp mới, bộ đệm đó cũng sẽ nhận được một tab. –

0

Kể từ file không thể kéo và thả để gvim một cách chính xác, tôi sử dụng một lô để thực hiện điều này. Các tập tin kéo có thể được thả vào tập tin thực thi hoặc một phím tắt đến nó. Nó cũng có thể được sử dụng trong trình đơn gửi đến của cửa sổ thám hiểm.

Dưới đây là nội dung của các tập tin thực thi (thay đổi đường dẫn và tên của máy chủ gvim):

@ECHO OFF 
:TOP 
IF (%1) ==() GOTO END 
    I:\apps\vim\vim73\gvim.exe --servername GVIM --remote-tab "%1" 
SHIFT 
GOTO TOP 

:END 
ECHO End 
0

Những của Windows ánh xạ thân thiện có thể làm cho vấn đề này có thể chịu đựng hơn. Vẫn phải nhớ để nhấn Ctrl-T trước khi kéo file mặc dù ...

" CTRL-T opens a new tab, CTRL-W closes tab, CTRL-Left/Right switches tabs 
noremap <C-T> :tabnew<return> 
noremap <C-W> :tabclose<return> 
noremap <C-Left> :tabprevious<return> 
noremap <C-Right> :tabNext<return> 
1

Bạn có thể thêm như sau trong .vimrc

autocmd BufReadPost * tab ball 

này sẽ mở các tab của bạn cho tất cả các bộ đệm, bao gồm cả mới thả tệp. Lưu ý rằng nó sẽ làm như vậy cho tất cả các bộ đệm, vì vậy các bộ đệm cũng đã mở trong gvim.

0
  1. Giữ CTRL trong khi kéo tệp vào Vim sẽ mở tệp mới trong cửa sổ mới được chia thành Vim.
  2. Sau đó chỉ cần chuyển đổi chia đó để một tab mới với <C-W>Tas I found here.
Các vấn đề liên quan