2009-12-11 15 views

risposta

4

No non è possibile, l'azione predefinita su trascinamento è specificata nell'implementazione di un'applicazione Windows (OLE DoDragDrop). Non è stato implementato per aprire i file rilasciati in una nuova scheda e quindi no. Ma gVim è open source ... quindi potresti inviare una patch se lo vuoi davvero :)

5

Si può iniziare digitando :tabe e quindi trascinare e rilasciare il file. Non posso confermare completamente questo (ho solo un Mac) ma penso che questo finirà con :tabe filename visualizzato. È quindi possibile premere invio e spegnimento ...

+0

che funziona, ma io non preferisco avere per "preparare" l'editor per ottenere un nuovo file. C'è un modo per rendere l'azione predefinita per un 'drop'? – wes

+0

ok, prova la mia altra risposta per la dimensione :) – Peter

+0

In realtà non è meglio che prepararsi semplicemente aprendo una nuova scheda (': tabnew'), quindi rilasciare il file nella nuova scheda. –

2

Aprire un nuovo file in gvim non sostituisce quello attualmente aperto. Il nuovo file viene aperto in un nuovo buffer e quel buffer viene mostrato. È possibile passare da un buffer all'altro utilizzando il comando :b. Nel tuo caso, puoi semplicemente rilasciare il file, quindi creare una nuova scheda con :tabedit e passare il buffer delle schede a quello desiderato con :b <filename>. Certo che non è esattamente quello che stai cercando, ma è sufficiente per me.

1

È possibile impostare la seguente opzione su vimrc. VIM aprirà il file con una nuova scheda. Puoi anche trascinare e rilasciare su gVim, si aprirà in una nuova scheda. Funziona per me, sto utilizzando anche su Windows 7.

: au BufAdd, BufNewFile * scheda annidato sball

+1

Ulteriori informazioni [qui] (http://vim.wikia.com/wiki/Open_every_buffer_in_its_own_tabpage) sfortunatamente rovina altre cose. Ad esempio, se carico una sessione salvata, carica i file due volte. Oppure se un buffer è caricato ma non è attualmente in una scheda, dopo aver trascinato un nuovo file, anche quel buffer riceve una scheda. –

0

Dal momento che i file non possono essere drag and sceso a gvim correttamente, io uso un lotto file per realizzare questo. I file trascinati possono essere rilasciati sul file batch o su un collegamento. Può anche essere utilizzato nel menu di invio di Windows Explorer.

Ecco il contenuto del file batch (cambiare il percorso e il nome del server 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

Queste finestre mappature amichevoli possono rendere il problema più sopportabile. Devono ancora ricordarsi di premere Ctrl-T prima di trascinare il file anche se ...

" 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

si potrebbe aggiungere quanto segue nel .vimrc

autocmd BufReadPost * tab ball 

Questa schede si apriranno per tutti i buffer, tra cui il neo file rilasciato. Si noti che lo fa per tutti i buffer, quindi anche quelli già aperti in gvim.

0
  1. Tenendo CTRL mentre si trascina il file su Vim si aprirà il nuovo file in una nuova finestra divisa in Vim.
  2. Poi semplicemente convertire quella frazione di una nuova scheda con <C-W>Tas I found here.
Problemi correlati