Si alguna vez vuelve a esta pregunta, cambie la respuesta aceptada, la de DrAI es mucho más correcta que la de Mykola.
gbr
Respuestas:
261
Además del :tabeditenfoque sugerido anteriormente , una forma más rápida de hacerlo es (en modo normal) presionar Ctrl- WShift- T. Ctrl-W es el prefijo general para una amplia variedad de comandos de manipulación de ventanas.
Tenga en cuenta que lo help Ctrl-W_Tlleva a la entrada de ayuda de Ctrl-W_t(minúscula), sin embargo, más abajo en la página está la Ctrl-W_Tentrada (con T mayúscula), que dice "Mover la ventana actual a una nueva pestaña ..."
Rabarberski
1
@DrAl y ¿cómo movemos una nueva ventana de pestaña para dividir ventana?
Ramiz Uddin
@RamizUddin No hay una manera simple de hacer esto (ya que no es obvio en qué ventana desea dividirse). Sin embargo, puede encontrar el número de búfer para su página de pestañas actual :echo bufnr("")y, con este número, puede dividir una ventana con :sp #3o :sb 3(suponiendo que el número sea 3). Es posible que pueda crear algunas asignaciones o funciones para simplificar esto.
DrAl
1
¿Cómo mueve el búfer a una nueva pestaña, manteniendo su estado deshacer / rehacer En otras palabras, no quiero abrir el mismo archivo en una pestaña nueva, quiero mover literalmente el búfer a una pestaña nueva, para que el historial de edición se pueda usar en la pestaña nueva. Si no hay una forma predeterminada de hacer esto, apuesto a que se puede hacer un complemento que agregue un nuevo acceso directo para hacer esto que escriba el historial de deshacer en el archivo de intercambio para el nuevo búfer.
trusktr
2
@trusktr Me imagino que abrir el búfer en una nueva pestaña :sbfuncionaría, pero con las versiones recientes de Vim (> = 7.3) también puede usar deshacer persistente configurando set undodir=/path/to/dirdónde / ruta / a / dir es un directorio que ha creado con el propósito y luego set undofile. Esto le permitirá salir de vim y luego reiniciar y conservar el estado de deshacer / rehacer.
Por la misma razón, sí incluí ":". Esta es la combinación completa de teclas vim en modo normal y puede usarla en 'nnoremap' y en 'nmap'
Mykola Golubyev
66
Esto también funciona, excepto que clona / duplica la ventana a una nueva pestaña en lugar de cerrarla primero y luego abrirla en una nueva pestaña. No es un gran trato. Solo algo a tener en cuenta.
A-Dubb
66
Esto no mueve el búfer a una nueva pestaña, solo abre el mismo archivo en una nueva pestaña, pero no tendrá historial de deshacer / rehacer, etc.
trusktr
55
C-w Tes la forma más rápida de hacer lo mismo
Dylanthepiguy
3
Esto mueve el búfer más nuevo en una nueva pestaña y restaura el búfer anterior en la pestaña actual. Lo uso después de arrastrar un nuevo archivo a mi Gvim
He estado usando esto, que le da dos funciones que pueden vincularse a un par de teclas de acceso rápido o comandos, y que funciona de manera bastante intuitiva. Estoy bastante seguro de que ofrece un comportamiento aún más amigable que, por ejemplo Ctrl-W_T.
Por ejemplo, cuando hay varias ventanas abiertas en varias pestañas, el uso de esta función le permite mover específicamente la ventana actual a la pestaña siguiente o anterior, y si mueve algo a antes de la primera pestaña o después de la última pestaña, entonces se activa en una pestaña completamente nueva.
Esto significa que si tiene 2 pestañas, cada una con una sola ventana, al mover la ventana de la primera pestaña a la derecha se combinará con la segunda pestaña para obtener una sola pestaña con dos ventanas. No sé cuán complicada es lograr esta operación usando comandos tradicionales.
Lo que esto significa es que un solo par de comandos de movimiento permite tanto desplazar ventanas alrededor de las pestañas, dividir ventanas en pestañas (empujando una ventana hasta el final) y unir pestañas separadas en ventanas dentro de una sola pestaña, casi todo es posible que desee, sin una disposición posicional (que es un tema separado y para el cual los comandos Ctrl-W+ incorporados Shift-HJKLfuncionan bien).
Respuestas:
Además del
:tabedit
enfoque sugerido anteriormente , una forma más rápida de hacerlo es (en modo normal) presionar Ctrl- W Shift- T. Ctrl-W es el prefijo general para una amplia variedad de comandos de manipulación de ventanas.Ver:
fuente
help Ctrl-W_T
lleva a la entrada de ayuda deCtrl-W_t
(minúscula), sin embargo, más abajo en la página está laCtrl-W_T
entrada (con T mayúscula), que dice "Mover la ventana actual a una nueva pestaña ...":echo bufnr("")
y, con este número, puede dividir una ventana con:sp #3
o:sb 3
(suponiendo que el número sea 3). Es posible que pueda crear algunas asignaciones o funciones para simplificar esto.:sb
funcionaría, pero con las versiones recientes de Vim (> = 7.3) también puede usar deshacer persistente configurandoset undodir=/path/to/dir
dónde / ruta / a / dir es un directorio que ha creado con el propósito y luegoset undofile
. Esto le permitirá salir de vim y luego reiniciar y conservar el estado de deshacer / rehacer.Tratar
fuente
C-w T
es la forma más rápida de hacer lo mismoEsto mueve el búfer más nuevo en una nueva pestaña y restaura el búfer anterior en la pestaña actual. Lo uso después de arrastrar un nuevo archivo a mi Gvim
Puede asignarlo así a Ctrl-Retroceso
funciona especialmente bien con
fuente
He estado usando esto, que le da dos funciones que pueden vincularse a un par de teclas de acceso rápido o comandos, y que funciona de manera bastante intuitiva. Estoy bastante seguro de que ofrece un comportamiento aún más amigable que, por ejemplo
Ctrl-W_T
.Por ejemplo, cuando hay varias ventanas abiertas en varias pestañas, el uso de esta función le permite mover específicamente la ventana actual a la pestaña siguiente o anterior, y si mueve algo a antes de la primera pestaña o después de la última pestaña, entonces se activa en una pestaña completamente nueva.
Esto significa que si tiene 2 pestañas, cada una con una sola ventana, al mover la ventana de la primera pestaña a la derecha se combinará con la segunda pestaña para obtener una sola pestaña con dos ventanas. No sé cuán complicada es lograr esta operación usando comandos tradicionales.
Lo que esto significa es que un solo par de comandos de movimiento permite tanto desplazar ventanas alrededor de las pestañas, dividir ventanas en pestañas (empujando una ventana hasta el final) y unir pestañas separadas en ventanas dentro de una sola pestaña, casi todo es posible que desee, sin una disposición posicional (que es un tema separado y para el cual los comandos
Ctrl-W
+ incorporadosShift-HJKL
funcionan bien).fuente