¿Cómo omito una coincidencia cuando uso Ctrl + D para varias selecciones en Sublime Text 2?


180

Tengo un código como:

testVar = { a: 1 };
testVariable1 = 2;
var c = testVar.a + testVariable2;
var d = testVar;

Quiero cambiar el nombre de la variable "testVar". Cuando configuro múltiples cursores con Ctrl+ Dy edito la variable, "testVariable" también se selecciona y edita.

¿Hay alguna forma de omitir algunas selecciones al configurar múltiples cursores con Ctrl+ D?

Respuestas:


257

Solo usa Ctrl+ K, Ctrl+ D.

(para OS X: Cmd+ K, Cmd+ D)

Necesita un poco de práctica, ¡pero hace el trabajo!


33
En realidad no es Ctrl + K + D, es Ctrl + K, Ctrl + D. ¡Es mucho más fácil escribirlos en serie que en paralelo!
Tim Keating

44
@Qwerty: Alt + F3 Selecciona todas las ocurrencias.
Emil Stenström

16
@Romain escribió "Necesita un poco de práctica". Creo que lo que eso significa es que podría ser más intuitivo. No presione la combinación de teclas hasta que se resalte lo que desea omitir. Por ejemplo, si tiene 3 coincidencias y desea omitir la segunda, primero resalte la primera, presione CTRL + D para resaltar la segunda, LUEGO presione la combinación de teclas para omitir la segunda coincidencia y resaltar la tercera. ¿Ayuda?
Tyler Collier

¡Agregue esto al mapa de teclas del usuario y reduzca el tiempo de práctica a casi 0! { "keys": ["ctrl+alt+d"], "command": "find_under_expand_skip" }
Mrchief

genial mi amigo !!
Juan

85

Puede presionar Ctrl+ Ky Ctrl+ Dal mismo tiempo para omitir una selección. Si fue demasiado lejos con su selección, puede usar Ctrl+ Upara volver a una selección anterior.

Nota : Reemplace Ctrlcon Cmdpara Mac OS X.

La configuración predeterminada para esto se puede ver yendo a Preferences> Key Bindings-Defaulten la barra de menú de la aplicación, donde verá algo como esto:

{ "keys": ["ctrl+d"], "command": "find_under_expand" },
{ "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" }

Si lo desea, puede configurar las claves según sus necesidades, vaya a Preferences> Key Bindings-Usery copie el código anterior y luego cambie las claves.


61

Si tiene el cursor sobre la palabra y usa Ctrl+ Dpara seleccionar la palabra. La próxima vez que presione Ctrl+ D, debería seleccionar la siguiente palabra resaltada.

Si hace doble clic para seleccionar la palabra, Ctrl+ Dseleccionará la cadena exacta, no solo las resaltadas.

En otras palabras, Ctrl+ Dsin nada resaltado hace una búsqueda de palabras completas . Si ya tiene algo resaltado, Ctrl+ Drealizará una búsqueda de subcadenas.

He probado y funciona en Sublime Text 2 Versión 2.0.1, Build 2217.


11
Esta es en realidad la única solución verdadera a este problema. La gente está votando sin cerebro.
Qwerty

ctrl+ D sin nada seleccionado es sensible a mayúsculas y minúsculas también.
venkatvb

2
@vankatvb No creo que eso sea cierto ... Ctrl+ Dsin nada seleccionado todavía no distingue entre mayúsculas y minúsculas. Esbozará solo las coincidencias entre mayúsculas y minúsculas, pero en realidad usando el atajo o Alt+ F3seleccionará las que no coincidan con mayúsculas y minúsculas.
Cisma

Por cierto, aquí está la misma respuesta en otra pregunta: stackoverflow.com/a/18422707/782045
curiosamente, el

7

Coloque el cursor antes de la variable, no seleccione la variable, presione Ctrl+Dpara seleccionar cada ocurrencia de la variable, no el patrón.


1

Respuesta actualizada para vscode en 2020 en windows, en keybindings.json agregue esta línea para omitir fácilmente la siguiente aparición seleccionada:

  {
    "key": "ctrl+alt+d",
    "command": "editor.action.moveSelectionToNextFindMatch",
    "when": "editorFocus"
  },

* sí, sé que la pregunta es para texto sublime, pero la encontré buscando en Google la misma pregunta + vscode, por lo que podría ayudar a alguien ya que las asignaciones son idénticas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.