Как перейти на локацию с помощью мыши на iTerm / терминале?


43

Я работаю на терминале большую часть времени.

Существует ли приложение / плагин поверх iTerm или любое другое приложение, подобное терминалу, с помощью которого я могу управлять расположением курсора моего терминала с помощью мыши?


Что вы хотите сделать на курсоре?
user151019

1
Я хотел бы перейти к курсору. Вариант использования: если у меня длинная строка, разделенная пробелом, я бы хотел перейти в определенное место. использование клавиатуры требует много нажатий клавиш.
Сайрам

Если вы уже используете терминал, вы, вероятно, оцените клавиатуру. Изучите сочетания клавиш, чтобы перейти к передней / задней части строки, и перемещаться по слову, и это сэкономит вам много нажатий клавиш и, вероятно, будет быстрее, чем мышь.

1
См. Также apple.stackexchange.com/a/217167/24565 для получения информации о параметрах мыши для tmux
Майкл Даррант

Ответы:


52

По крайней мере, в Terminal.app вы можете удерживать нажатой optionклавишу, чтобы перейти в текущую строку (это фактически означает просто строку, поэтому, если ваше текущее приглашение настолько длинное, что оно переносится на вторую строку ввода, вам нужно будет optionнажать -click в начало «второй» строки, а затем перейдите с помощью клавиш со стрелками к «первой» строке, где вы можете optionснова щелкнуть).


1
Вариант клик, интересный. Никогда не знал этого раньше. Не забудьте нажать на строку, черт возьми. Я даже не понимаю, что происходит, когда я нажимаю выше / ниже текущей строки. Я предполагаю, что это несколько раз давит вверх, но я почти уверен, что история команд не совсем совпадает.
Джейсон Салаз

Ну, это только чтение количества столбцов, где бы вы ни щелкнули, и переход к этой позиции в текущей (!) Строке; так что если вы находитесь в конце завернутого приглашения (скажем, строка 2: столбец 45), и вы щелкаете опцию на чем-то в первой строке (скажем, строка 1: столбец 4), вы окажетесь в столбце 4 (отлично), но остаться в очереди 2 (неправильно!).
Асмус

2
Опция Option-Click работает так, что она выдает эквивалент ввода клавиш со стрелками. Это хорошо работает в редакторах, таких как emacs, но если вы находитесь в командной строке bash, она интерпретирует вверх / вниз как «предыдущая / следующая команда в истории». Таким образом, если вы щелкнете Option-Click в любом месте, кроме той же строки, которая содержит приглашение, bash просматривает историю команд, а не перемещает курсор.
Крис Пейдж

Работает в iTerm2.
Ахмет Алп Балкан

9

Прошло много времени с тех пор, как возник этот вопрос, и я уже упомянул нижеприведенную информацию об этой платформе в Option-click в iTerm и в системе отслеживания проблем iTerm2, но, возможно, это поможет одному или другому:

Привет, просто хотел сообщить, что я реализовал эту функцию в iTerm2. Его пока нет в официальном репозитории iTerm2, но если вы хотите попробовать его, вы можете найти его на github .

Так как это проверено только мной, считаю его нестабильным. Я проверил его с помощью bash, vi и emacs и постарался сделать так, чтобы он напоминал поведение Terminal.app.

На github также есть предварительно скомпилированный бинарный файл iTerm_v1.0.0.20120312.git-b919985b.zip (для i386 / x86_64 / ppc).

Конечно, любые отзывы приветствуются.


Сломались ли сообщения мыши в последнем выпуске? Это больше не работает для меня, я не вижу курсор «о» и не могу понять, как вернуть его обратно.
Майкл

Я забираю это обратно. Отчеты мыши не работают только в некоторых случаях - например, если вы используете ssh на другой машине, то подключаетесь к сеансу tmux, на котором уже запущен emacs. Это раньше работало. Теперь вам иногда приходится выходить из emacs и перезапускать его до того, как сработает создание отчетов для мыши ...
Майкл

Это только кажется, чтобы перейти в позицию в любом месте текущей строки. Можно ли щелкнуть опцию в любом месте активной команды?
Скелет Лук

6

Клавиатура часто ваш лучший друг. В конфигурации по умолчанию ваша оболочка контролирует большую часть того, как вы перемещаетесь по командной строке.

Option+ bвозвращает слово назад (курсор окажется на первой букве предыдущего слова).

Option+ fидет вперед по слову (курсор будет находиться на не буквенном символе ПОСЛЕ следующего слова).

Shift+ Fn+ Left Arrow (←)поместит курсор в самом начале строки. ( Ctrl+ aтакже сделает это.)

Shift+ Fn+ Right Arrow (→)поместит курсор в самый конец строки. ( Ctrl+ eтакже сделает это.)

Так что, если у меня длинная команда, например:

$ rsync -avz --progress ~/Sites/Development/My/Project web@server:/deployment/output/area

И я начинаю нажимать Option+ b, курсор останавливается на области a in, o на выходе, d на развертывании и т. Д.

Если я иду в начало строки, и начать удар Option+ f, курсор остановится в пространстве после Rsync, в пространстве после AVZ, в пространстве после прогресса, в / после сайтов и т.д.


Мне нравится ваше осознанное решение проблемы XY. Не отвечая на первоначальный вопрос, это очень достойная альтернатива. Однако специально ли вы иногда произносите CMD + b и option + b?
Корнелиус Ремер

1
Нет, это была ошибка с моей стороны. Команда никогда не должна была использоваться здесь, потому что она управляет поведением окна терминала, а не поведением оболочки / движения.
Джейсон Салаз

5

В iTerm2 вы удерживаете нажатой клавишу alt (влево или вправо) и щелкаете, чтобы переместить курсор в любую позицию на любой строке.


3

Если вас особенно интересует движение в Vim, то вы можете добавить set mouse=aв свой ~/.vimrcфайл.

Это работает в iTerm для движения. Он также позволяет помечать разделы, как если бы вы входили в визуальный режим, так что вы можете дергать или удалять его или закомментировать код в зависимости от ваших плагинов.

Очень удобно также быстро перемещаться по большому документу с помощью ползунка двумя пальцами или колесика мыши.

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

Также: обратите внимание, что если вы добавляете что-то вроде vimpager (также в macports), вы также можете прокручивать справочные страницы после добавления

export PAGER=/opt/local/bin/vimpager #or wherever vimpager is installed
alias less=$PAGER

на ваш .profileили .bashrc.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.