¿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?

Just_Mad
fuente

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!

Romain
fuente
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.

SUB0DH
fuente
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.

Llama atómica
fuente
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.

n1nj4
fuente
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.

bevo009
fuente