Відповіді:
Там є простий прив'язки для «Вибрати все» в GTK:C-/
Він визначається як загальний сигнал GtkTextView і не є конкретно частиною ключової теми emacs. Але це добре справляється з цим. Це визначено як альтернативу C-a
. Хоча остання переосмислюється темою emacs, C-/
залишається дійсною для "Вибрати всіх".
Не існує жодної ярлики, щоб це зробити безпосередньо.
Ви можете перейти в кінець тексту з Ctrl- eі видалити рядок Ctrl- u. Це, однак, працює лише з GtkEntry
одним рядком поля введення.
Якщо вам потрібно вибрати все в GtkTextView
багаторядовому редакторі, подібному до редактора, вам залишається зробити обтяжливий Ctrl- Homeза ним - Ctrl+ Shift- End, що з моєю клавіатурою з 63 клавішами майже неможливо.
Якщо, з поважної причини редагування ефективності або обмеження клавіатури мобільного пристрою, Homeі Endзнаходяться поза досяжністю, то вам доведеться пройти. Вибір "Select-all" у меню "Edit" - погана ідея, оскільки він відображає Alt- e- aу firefox, Alt- e- tв gedit, Alt- e- sу OpenOffice (навіть із інтеграцією з gnome), у кожному програмному забезпеченні інший ключ та в деякому програмному забезпеченні в меню редагування немає "Select-all", як, наприклад, хром, а в деяких програмного забезпечення немає навіть самого меню "Edit", навіть не прихованого, з якого потрібно викликати Alt-e, як nautilus. Ця суперечливість перемагає призначення панелі меню, активованої Alt, і не будь-яка операційна система, навіть Windows, не є такою непомітною. Навіть у меню правої кнопки миші немає фіксованого ярлика для "Select-All" - зазвичай, aале це може бути tвід програми до програми. Викликати виправлення помилок у кожному окремому програмному забезпеченні можна лише за допомогою метапроекту на зразок GNOME, але знаючи, що GNOME сам створив деякі з цих проблем (видалення меню Edit у "nautilus" - це рішення GNOME 3) насправді не залишилося ви дуже сподіваєтесь
Зі сторони, Ctrl- Homeце єдиний ярлик для переходу до початку всього тексту, навіть він може перервати вашу роботу, щоб ввести мобільні пристрої з малою клавіатурою.
Відповідь закінчується тут. Для допитливих умів у мене є додаткова інформація:
Досвідчений користувач emacs намагатиметься Ctrl- x- h:: справжніх emacs справді, але в режимі emacs gtk3 не зрозуміла жодна послідовність контрольних ключів. Насправді визначено лише кілька ярликів швидкого доступу до emacs - Візьміть заглянути /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css
; на наклейці достатньо місця, щоб записати всі підтримувані ярлики Emacs.
Щоб зробити ситуацію ще гіршою, важко перенести для цього клавішу швидкого доступу. Як відомо, Ctrl- aбереться emacs. Але навіть Hispanophones, найбільша група, що не говорить англійською мовою (китайці виключені, оскільки ми використовуємо ідеографи), які використовуються для вибору всього Ctrl- e, знайдуть і цю клавіатурну комбінацію, яку взяли емаки. За винятком того e, що в лівій половині клавіатури QWERTY не залишилося жодної іншої клавіші без вже прийнятої мети. Google Translate приймає клавішу SHIFT, коли вона натискається окремо, як "select-all", але не інше програмне забезпечення, ані інші продукти Google дотримуються налаштувань.
Щоб виповнити рядок, використовуйте Ctrl- u. Це має перевагу в тому, що не перезаписувати X SELECTION (ту, яку ви витягуєте середньою кнопкою миші). Це унікальне налаштування лише для режиму emacs gtk3: в реальному emacs він нічого не робить самостійно; у readline (bash, mysql тощо) передбачається видалити все з курсору до початку рядка, а його зустрічна частина Ctrl- kвидаляє все від курсору до кінця рядка.
Деякі можуть запропонувати залишити позначку десь для випадкового вибору за допомогою клавіатури. Ви також можете знайти Ctrl- SPACEзнаходиться в режимі emacs, налаштований на встановлення якоря в тексті. Незважаючи на конфлікт із багатьма іншими програмними засобами (зокрема методами введення ідеографа та автоматичним доповненням в іншому програмному забезпеченні редактора), не існує жодної клавіші швидкого доступу для використання встановленого вами якоря.
Ubuntu офіційно не підтримує режим редагування emacs, а також будь-яку іншу конфігурацію інтерфейсу, яку неможливо виконати з інтерфейсом користувача. Звіти про помилки щодо таких потреб позначаються нижчим пріоритетом. З цієї причини я вважаю, що найкраще задавати таке питання в загальних для Linux місцях, наприклад, суперпользователя.
Прив’язки до emacs визначені на /usr/share/themes/Emacs/gtk-2.0-key/gtkrc Ви також можете додати прив'язки в ~ / .config / gtk-3.0 / gtk.css
Вибрати все було б приблизно так:
bind "<ctrl>h" { "move-cursor" (buffer-ends, -1, 0)
"move-cursor" (buffer-ends, 1, 1) };
Я не знайшов способу прив’язати його до Cx h.
Для додатків GTK3 ви можете переглядати прив’язки ключової теми Emacs GTK - або локально, ймовірно, на /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css
), або у сховищі GTK git на GitHub (що не обов'язково дорівнює вашому локальному файлу, оскільки ваш дистрибутив, можливо, змінив його) .
Читаючи цей файл, ви повинні знати про значення віджетів
(Подивіться на зображення вгорі кожного пов’язаного веб-сайту.)
select-all
за GtkTreeView
іGtkTextView
Для GtkTreeView
і GtkTextView
віджетів існує сигнал, який називається select-all
. Вам потрібно передати його аргументом, 1
щоб він вибирав усі, а не скасовував вибір.
Отже, відредагуйте ~/.config/gtk-3.0/gtk.css
та додайте щось подібне:
@binding-set my-text-and-tree-view-bindings
{
bind "<alt>a"
{
"select-all" (1)
};
}
textview {
-gtk-key-bindings: my-text-and-tree-view-bindings;
}
treeview {
-gtk-key-bindings: my-text-and-tree-view-bindings;
}
GtkEntry
Бо GtkEntry
немає select-all
сигналу. Натомість ви можете використовувати послідовність із двох move-cursor
сигналів, що позначають текст.
Знову відредагуйте ~/.config/gtk-3.0/gtk.css
та додайте щось подібне:
@binding-set my-entry-bindings
{
bind "<alt>a"
{
"move-cursor" (paragraph-ends, -1, 0)
"move-cursor" (paragraph-ends, 1, 1)
};
}
entry {
-gtk-key-bindings: my-entry-bindings;
}
До речі, у Firefox Alt- aвибирає для мене все за замовчуванням без конфігурації (використовуючи ключову тему Emacs GTK).
Якщо ви хочете вибрати весь текст у регіоні, я вважаю за краще визначити для цього простий макрос. Натисніть F3, щоб почати писати макрос. Потім введіть
Esc - < // goes to beginning of document
Ctrl - spacebar // set mark
Esc - > // selects all till end of document
Потім використовуйте M -w для копіювання (що зазвичай роблю для копіювання з віддалених систем Unix у локальну Windows), а потім натисніть F4, щоб закінчити визначення макросу.
Тепер ви закінчили визначення макросу, просто натисніть F4 стільки разів, скільки захочете повторити дію.
http://www.emacswiki.org/emacs/EmacsNewbieKeyReference#toc8 здається, що ви шукаєте (Cx h після встановлення маркера)
Також залежить від того, хочете ви 'сторінку', або буфер тощо.