Подтвердить что ты не робот

Sublime Text 2 перемещает курсор из круглых скобок, кавычек или скобок

Мне нужен быстрый способ заставить курсор перейти за пределы аутов auto wrap или других элементов синтаксиса. Я не хочу каждый раз нажимать на клавиши со стрелками и, безусловно, не хочу идти на мышь.

enter image description here

Есть ли быстрый и простой способ решить эту проблему для моего рабочего процесса?

4b9b3361

Ответ 1

Вы можете использовать ярлык (shift + space или что угодно) для перемещения курсора.

В Key Bindings - User:

{ "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true} }

Ответ 2

Я также сделал несколько ключевых привязок из макросов.

Вы должны сделать макрос для этих, если не хотите тратить больше времени на их создание, но это очень просто. Просто перейдите в Sublime Text, Tools > Record Macro или нажмите ctrl Q. Сохраните файл в Пакетах/Пользователь/, а затем нажмите ,, чтобы открыть настройки пользователя. Вставьте здесь настройки и стрелку. (ниже представлен мой курсор)

enter image description here

Вот тот, который я выбрал:


Функция авто-скобки

Когда курсор находится здесь:

totallyAwesomeness(|) 

Используйте вариант + тильда.

⌥ ~

Это заполняет функцию скобками и выделяется текст "# code...". Он работает только в скобках.

Высокие пользовательские настройки

{
"keys": ["option+`"], "command": "run_macro_file", "args": {"file": "Packages/User/superBracketizeFunction.sublime-macro"}
},

Загрузить макрос


Автоконцевая линия с точкой с запятой

Когда курсор находится здесь:

echo 'say what!!??|'

Используйте ярлык команда + точка с запятой.

⌘;

Это добавляет закрытие; в конце текущей строки и переместит вас к линии под ней. Он действительно работает везде, где вы находитесь на линии.

Высокие пользовательские настройки

{
"keys": ["super+;"], "command": "run_macro_file", "args": {"file":  "Packages/User/superEndLineWiSemiColin.sublime-macro"}
},

Загрузить макрос


Выход из функции аргумента и выхода

Когда ваш курсор находится где угодно внутри функции, он будет здесь:

public function totallyAwesomeness()
    {
        echo 'say what!!??';
    } |
    echo 'yep... that just happened';

Используйте команду + введите.

⌘ Введите

Это позволит вам перейти за пределы аргумента и пробела вправо, а также в любом месте из функции, из которой вы выберете его из него только как закрывающую скобку.

Высокие пользовательские настройки

{
"keys": ["option+enter"], "command": "run_macro_file", "args": {"file": "Packages/User/superExitFunctionArg.sublime-macro"}
},

Загрузить макрос


На всякий случай, когда вы не знаете, что путь к вашей папке пользователя, это показано ниже.

/Users/alexcory/Library/Application Support/Sublime Text 3/Packages/User/

Также папка библиотеки обычно скрыта, поэтому вы можете загрузить программу под названием Revealer, которая позволит вам переключать эти скрытые файлы.

Если вы хотите знать, как я сделал это, просто ударил меня, и я покажу вам!: D

Ответ 3

Лучшее решение для этого - запись макроса в Sublime Text, а затем присвоение его ярлыку на клавиатуре. Выполните следующие действия:

  • Создайте строку, такую ​​как alert ('hello') и оставьте курсор вправо после буквы "o".
  • Затем перейдите в Инструменты > Записать макрос, чтобы начать запись.
  • Нажмите Command + , чтобы перейти в конец строки.
  • Нажмите ; и нажмите Enter
  • Остановите запись макроса, выбрав "Инструменты" > "Остановить запись макроса"
  • Теперь вы можете протестировать свой макрос с помощью инструментов > Макрос просмотра (необязательно)
  • Сохраните макрос, перейдя в Инструменты > Сохранить макрос (например: EndOfLine.sublime-macro)
  • Создайте ярлык, добавив это между квадратными скобками в вашем в настройках > Ключевые привязки - Файл пользователя:

    {
    "keys": ["super+;"], "command": "run_macro_file", "args": {"file": "Packages/User/EndOfLine.sublime-macro"}
    }
    
  • Теперь, каждый раз, когда вы нажимаете Command + ;, он будет волшебным образом поместите точку с запятой в конец текущей строки и переместите курсор на следующую строку.

Счастливое кодирование!

Ответ 4

Более полный способ сделать привязку клавиш будет:

    { "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]]", "match_all": true },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false }
        ]   
    },

Предполагая, что вы хотите shift + space в качестве ярлыка. Или вы можете изменить его на tab, а также

Как найдено в http://www.sublimetext.com/forum/viewtopic.php?f=3&t=5174#p23086

Ответ 5

Следующее сообщение Риккардо Маротти;

Если вы хотите обойти скобку на следующей строке, вы можете заменить "символы" на "строки" в разделе args.

{ "keys": ["shift+space"], "command": "move", "args": {"by": "lines", "forward": true} }

Ответ 6

на Dell XPS, Ctrl Enter делает трюк для меня

Ответ 7

У меня эта функция частично реализована с помощью плагина с именем run_multiple_commands.py(см. ниже)

( тестируется только на ST3,, но плагин раньше, чем первая версия ST3, и должен работать и на ST2).

Конфигурация ярлыков:

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move", "args": {"by": "characters", "forward": true} }
        ]
    },
    "context":
    [
        { "key": "preceding_text", "operator": "regex_contains", "operand": "[)\\]}'\"]$", "match_all": true},
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move", "args": {"by": "characters", "forward": true} },
        ]
    },
    "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[)\\]}'\"]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move_to", "args": {"to": "brackets"} },
        ]
    },
    "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[(\\[{]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move_to", "args": {"to": "brackets"} },
            {"command": "move", "args": {"by": "characters", "forward": true} },
        ]
    },
    "context":
    [
        { "key": "following_text", "operator": "not_regex_contains", "operand": "^[)\\]}'\"]", "match_all": true },
        { "key": "preceding_text", "operator": "not_regex_contains", "operand": "[)\\]}'\"]$", "match_all": true},
        { "key": "following_text", "operator": "not_regex_contains", "operand": "^[(\\[{]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

Один ярлык (shift+space) для четырех условий:

  • курсор сразу после цитат или закрывающих круглых скобок/скобок:

    переместить один символ вперед

  • курсор перед кавычками или закрывающимися скобками/скобками:

    переместить один символ вперед

  • курсор перед открытием круглых скобок/скобок:

    перейти к закрывающим скобкам/скобкам

  • ! 1 && &! 2 & &! 3:

    перейти к закрывающим круглым скобкам/скобкам

    и переместите еще один символ вперед

Чтобы использовать эту конфигурацию в ST, сначала добавьте файл с именем run_multiple_commands.py в каталог .../Package/User/, а содержание которого является вторым фрагментом кода Эта статья

Это решение прекрасно подходит для повседневного использования, но не идеально, потому что:

  • курсор не может выпрыгнуть из кавычек (просто перешагните его, когда курсор сразу за ним следует).
  • курсор не может выскочить из ближайших скобок, кавычек или скобок при комментировании блока кода.

Ответ 8

Ctrl + M - это значение по умолчанию, которое у меня есть на машине Windows. Просто сделайте это

Ответ 9

Возможно, клавиши home и end находятся рядом с вашими пальцами.

Ответ 10

Я использую ctrl + f для перемещения курсора на одно пространство вперед. Кроме того, на mac я заменил caps lock на ctrl. caps lock + f гораздо проще. Это работает хорошо для меня.

Ответ 11

Я нашел другой способ, который лежит в возвышенных ключевых связях. В принципе, я просто изменяю привязки клавиш для автоматического закрытия парсеров, то есть заменяю "contents": "($0)" на "contents": "($1)$0". Затем просто нажмите Tab, чтобы выйти из круглой скобки. Поэтому я добавляю в свои ключевые слова следующее:

{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "($1)$0"}, "context":
    [
      { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
      { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
      { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
    ]
},

И аналогично для квадратных скобок, фигурных скобок и одиночных и двойных кавычек.

Ответ 12

Ctrl + PgUp Cycle up through tabs

Ctrl + PgDn Cycle down through tabs

Это может идти до конца скобок