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 ventanaB
entab1
. -
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.