vim-windows – ¿Cómo puedo abrir un búfer en una nueva pestaña dejando intactos la ventana actual y el búfer?

Pregunta:

A menudo, al codificar, tengo este diseño de ventana, que se asigna al flujo del programa que estoy editando.

Tab1

+------------+--------------+
|            |              |
|            |      B       |
|            |              |
|            |              |
|  A         +--------------+
|            |              |
|            |              |
|            |       C      |
|            |              |
+------------+--------------+

Ahora quiero abrir B en una nueva pestaña para trabajar en ella, pero quiero dejar intacto el diseño de tab1 .
Aquí está mi resultado deseado.

        tab1                         tab2
+------------+--------------+ +---------------------------+ 
|            |              | |                           | 
|            |      B       | |                           | 
|            |              | |                           | 
|            |              | |            B              | 
|  A         +--------------+ |                           | 
|            |              | |                           | 
|            |              | |                           | 
|            |       C      | |                           | 
|            |              | |                           | 
+------------+--------------+ +---------------------------+ 

Lo que he intentado usar vim

  • Desde el interior de B , ábralo en una nueva pestaña con <Cw>T
    El problema es que destruye la ventana B en tab1 .
  • tabe <full path to filename> : esto funciona, pero estoy tratando de encontrar un "atajo"

Lo que he intentado usar ctrlp

  • <Cp> , escriba algunos caracteres del nombre del archivo, <Ct>

Desafortunadamente, ctrlp excluye el búfer actual de sus resultados, sé que puedo moverme a otra ventana, pero siempre olvido esto cuando estoy codificando, así que asumo que ctrlp no puede encontrar el archivo y recurro a alguna otra forma de abrir el archivo.
¿Existe un acceso directo para abrir un archivo en una nueva pestaña, dejando la actual intacta o para permitir que ctrlp incluya el búfer actual en sus resultados?

Respuesta:

:tab split creará una nueva pestaña que muestra el búfer actual, ya que :tab modifica cualquier comando que normalmente crearía una división para crear en su lugar una página de pestaña.

Si desea anular <Cw>T para hacer eso en lugar de su comportamiento predeterminado, puede reasignarlo.

nnoremap <silent> <C-w>T :tab split<CR>

Quizás se pregunte por qué utilicé :tab split lugar de :tabedit % . Según la documentación :tabedit {file} es como crear una nueva pestaña y luego ejecutar :edit {file} .

Por lo tanto, sería una mala idea usarlo ya que :edit {file} en un búfer modificado intentaría recargar el búfer. :tab split ajusta mejor al comportamiento que está describiendo de simplemente abrir una nueva vista del búfer existente.

Todo lo que se dice, la implementación de :tabedit {file} aparentemente no actúa igual que :edit {file} ya que en realidad no vuelva a cargar el buffer.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım