2010-12-31 16 views
136

Se si modifica un file in VIM e quindi è necessario aprire un buffer esistente (ad esempio dall'elenco di buffer: :buffers) come è possibile aprirlo in una divisione verticale?Aprire un buffer come divisione verticale in VIM

So che è già possibile aprirlo con un normale spaccatura come:

:sbuffer N 

Wehere N è il numero di buffer che si desidera, tuttavia, quanto sopra si apre che N tampone in orizzontale, non in verticale.

Sono anche consapevole del fatto che è possibile modificare la posizione della finestra dopo l'apertura e hanno una spaccatura verticale in questo modo:

Ctrl-W H 
Ctrl-W L 

Quale sarà verticalmente dividere la finestra a destra oa sinistra.

Mi sembra che se c'è un sbuffer ci dovrebbe essere un vsbuffer, ma che non esiste (non che io sono a conoscenza di)

Inoltre, si ricorda che io non sono alla ricerca di un plugin per risolvi questa domanda Conosco un sacco di plugin che ti permetteranno di fare questo.

Sono sicuro che potrei mancare qualcosa che è già lì.

EDIT: Nel migliore spirito di collaborazione, ho creato una semplice funzione con una mappatura se qualcun altro si imbatte in questo problema e non vogliono installare un plugin:

Funzione:

" Vertical Split Buffer Function 
function VerticalSplitBuffer(buffer) 
    execute "vert belowright sb" a:buffer 
endfunction 

Mapping:

" Vertical Split Buffer Mapping 
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>) 

Questo compie il compito di aprire un buffer in una frazione di destra, quindi per buffer di 1, si dovrebbe chiamare come:

:Vbuffer 1 

risposta

151

Prova:

:vert sb N 

che aprirà una spaccatura verticale sinistra (per impostazione predefinita, a meno che non hai modificato alcune opzioni).

Per aprire una scissione a destra, invece:

:vert belowright sb N 
+4

Non le sembra piuttosto strano per non avere '' vsbuffer N''? Fastidioso. La tua risposta lo inchioda. Grazie! – alfredodeza

+12

Ho sempre la sensazione che ci sia anche un 'vsbuffer', e spesso dimentico' Ctrl-w T' per aprire un buffer in una nuova scheda (o voglio farlo con un buffer che non è attualmente attivo o visibile) . Quindi, in alternativa, puoi usare una barra per entrambi questi casi, che trovo più facile da ricordare rispetto alla risposta valida di @ Jeet: ': vsp | b N' e ': tabe | b N'. – ches

+0

Mi piace che questo comando permetta di 'N' di essere completato automaticamente (che non sembra possibile con il comando nell'altra risposta). Entrambi in aumento, tuttavia. –

91

:vsp | b1

1 essendo certo numero di buffer. Utilizzare buffers per elencare tutti i buffer.

Ecco alcune informazioni aggiuntive sulle divisioni, se sei interessato. Link

+0

Grazie, sembra essere una buona alternativa a quella fornita da @Jeet. – russoue

+6

Si potrebbe anche usare ': ls', che sembra essere una scorciatoia per': buffers'. – dskecse

+0

Questo è più memorabile della risposta scelta. Grazie! – agarie

0

è possibile utilizzare Neovim, come quella:

autocmd FileType python nmap <F5> :rightbelow vertical split <bar> :term python %<cr> 
Problemi correlati