Selección de columna IntelliJ mediante teclas de cursor

106

¿Es posible de alguna manera configurar IntelliJ IDEA para que pueda seleccionar columnas con las teclas del cursor de manera similar a como lo haría en Notepad ++, Visual Studio o FlashDevelop?

Por ejemplo, cuando estoy escribiendo código, casi siempre hago mi navegación únicamente mediante el uso del teclado. En los IDE mencionados anteriormente, puedo seleccionar rápidamente bloques de código manteniendo presionado Shift+ y Altluego tocando para extender el cursor a través de las líneas anteriores. Luego puedo mantener presionado Shift+ Alt+ Ctrly tocar o para saltar rápidamente entre palabras y seleccionar el fragmento de texto que quiero.

En IntelliJ IDEA tengo que habilitar y deshabilitar constantemente el modo de selección de columna usando Shift+ Alt+ Inserte incluso entonces no funciona como lo hace en los otros IDE o editores de texto.

¿Algunas ideas?

Joshua Barnett
fuente
1
Esta publicación de blog debería ser útil.
Anton Dozortsev

Respuestas:

158

Puede editar columnas con el Edit | Column Selection Mode.

El atajo para girarlo on/offes Alt+ Shift+ Insert. Navega con las teclas de flecha para seleccionar bloques de texto.

duffymo
fuente
2
Conocía este modo, pero no me proporcionaba lo que quería, pero parece que no obtendré el comportamiento deseado sin escribir un complemento.
Joshua Barnett
30
En Mac, el atajo es Cmd + shift + *
8bitme
5
Por alguna razón en mi Mac, Cmd + Shift + 8 no funcionó y no pude entender por qué, lo reasigné a Control + Opción + Comando + 8 y funcionó bien. Tampoco pude encontrar nada que impidiera que ese viejo mapa de teclas funcionara más que posiblemente un mapeo del sistema que lo anuló.
AlexC
7
Es como si ni siquiera hubieras leído la pregunta. La respuesta de @JoshuaBarnett Gibolt es lo que quieres.
jv110
2
Secundando jv110 y su objeción a la respuesta de JoshuaBarnett. El póster ya conoce claramente el método abreviado de teclado que menciona JoshuaBarnett y está buscando una forma más ligera de ingresar al modo de edición de columnas, que es lo que proporciona la respuesta de @ Gibolt.
Daniel Cotter
59

Caret multilínea (sin ratón)

Windows / Linux: CTRL+ CTRL(Sostener) +↑ / ↓

Mac: + (Sostener) +↑ / ↓

ESC finalizará el modo multilínea.

Cambiar tecla de acceso rápido de múltiples signos

Para agregar un mapa de teclas personalizado, CTRL+ SHIFT+ A, escriba keymapy haga clic en el que tiene Settingscomo subtexto. Busque Clone Caret Abovey Clone Caret Below.

Mapeé el mío a ALT+ SHIFT+ ↑ / ↓.

Prima

Trate de combinaciones que llevan a cabo CTRL, SHIFTy flechas para mejorar la potencia de la selección.

Gibolt
fuente
5
Creo que esta debería ser la respuesta correcta. La respuesta aceptada actualmente solo reafirma parte del contenido de la pregunta, pero esta respuesta proporciona una verdadera selección rectangular sin usar el mouse, a la Notepad ++.
Corwin Newall
8
En mi Mac, la ALTclave se asignó de forma predeterminada en lugar de . Así fue: ALT+ ALT(Sostener) + /
gfullam
¡No puede simplemente indicar Windows y macOS e ignorar Linux!
jv110
@ jv110 verdadero. Está bien decir solo macOSpero no puedo poner 'doze delante de' nix
javadba
48

También es posible seleccionar retención middle mouse key.

kyb
fuente
18

Vaya a Settings | Keymapy establezca un atajo para Clone Caret Abovey paraClone Caret Below

Meo
fuente
¿Sabes si es posible que funcione de manera similar a la de los editores de texto como Notepad ++ donde solo puedes extender en una dirección y la dirección opuesta lo encoge?
Joshua Barnett
No creo que sea posible. Ni siquiera he visto una solicitud de función para eso.
Meo
Presione Ctrl, luego presione Ctrl, es exactamente como lo describió.
jv110
esa fue la única solución que me funcionó. gracias por compartir.
MARK
11

Creo que la respuesta de @ Meo es la más correcta, pero si su mano está en el mouse, también puede lograrlo con Ctrl+ Alt+ Shift+ Left Mouse Button Click. O busque Add Rectangular Selection on Mouse Dragen la configuración del mapa de teclas.

Wesley Musgrove
fuente
O presione Ctrl y luego mantenga presionado Ctrl.
jv110
10

En Windows o Linux presiono dos veces Ctrl

Carlos Verdes
fuente
1
Haga clic y Ctrlluego presione rápidamente y mantenga presionado Ctrlpor segunda vez. Use las teclas de flecha mientras mantiene presionadas Ctrlpara agregar signos de intercalación / seleccionar
olejorgenb
7

Para mí en Mac:

Presione una vez la tecla 'opción', suéltela y manténgala presionada nuevamente. Ahora navegue con el cursor para seleccionar el código deseado. Presione 'Esc' para salir del modo columna. :)

LeXav
fuente
6

En una Mac (con asignaciones de teclado predeterminadas):

8

Bohemio
fuente
1
memoria muscular: ir a la función
javadba
6

La forma más conveniente es:

  • MAC: Mantenga presionada la tecla Option + Shift y haga clic con el mouse.
  • Windows: Mantenga presionada la tecla Alt y haga clic con el mouse.
lukyer
fuente
1

Para Mac cmd+ shift+ *no funcionó para mí. Cambié el mapa de teclas a otra cosa y ahora funciona a la perfección.

sia
fuente