2013-10-09 2 views
1

Есть ли способ сделать обратный выбор в Sublime Text 2?Ctrl + D select in reverse

Я знаю, что вы можете пропустить (Ctrl + K, Ctrl + D), отменить (Ctrl + Y) и вишневый выбор (hold alt) ваш выбор из Ctrl + D, но как я могу сказать, возвышенного до множественного выбора в обратном порядке?

Предположим, вместо того, чтобы идти вниз, я хочу спуститься.

+0

Это не встроенный, но ответ ниже содержит плагин, который делает работу. Вы можете поместить его в свой каталог 'User', а затем просто назначить комбинацию клавиш, которая не конфликтует с другой уже назначенной комбинацией. Называйте это при сохранении файла - например, 'inverse_find_under_expand.py'. Комбинация клавиш переходит в файл настроек пользователя - например, 'Default (OSX) .sublime-keymap'. – lawlist

ответ

6

Если кто-то может улучшить этот плагин, чтобы он прокручивал экран вверх, когда он выбирает, это было бы весьма полезно.


ПРИМЕЧАНИЕ: Ключ OSX связывания, который я выбрал для этого примера конфликтов с duplicate_line, так что ключ привязки необходимо будет закомментирован для этого нового ключа привязки для работы - в противном случае, выбрать другое ключевое связывание, которое еще не принято.

{ "keys": ["super+shift+d"], "command": "inverse_find_under_expand" }, 

import sublime, sublime_plugin 

class InverseFindUnderExpandCommand(sublime_plugin.TextCommand): 
    "Add the previous occurrence of the word under the cursor to the selection" 

    def run(self, edit): 
     sel = [s for s in self.view.sel()] 

     new_sel = [] 

     for s in sel: 
      self.view.sel().clear() 
      self.view.sel().add(s) 

      self.view.window().run_command('find_under_prev') 

      for ns in self.view.sel(): 
       new_sel.append(ns) 

     self.view.sel().clear() 

     for s in sel: 
      self.view.sel().add(s) 

     for s in new_sel: 
      self.view.sel().add(s) 
+0

Это лучше, чем ничего. Благодарю. – shriek

+0

Хорошее решение. Спасибо :) – J4cK

+1

Это эпос! Спасибо, признайтесь, оцените! – Ash

Смежные вопросы