Emacs: як вибрати хороші прив’язки клавіш?


10

Я новачок в Emacs , і я хотів би, щоб почати додавати деякі глобальні призначені для користувача поєднання клавіш для виконання спільних завдань , таких як replace-string, replace-regexі т.д. , які не мають їх за замовчуванням. Я хочу зробити хороший вибір, і я бачу кілька питань:

  • Перегляньте всі мої параметри - Як я можу побачити повний спектр клавіш, які не пов'язані в усіх режимах, які я регулярно використовую?

  • Сумісність / умовність - Чи існують загальні неофіційні прив'язки або загальна клавіша "простір користувача", за допомогою якої можна розпочати особисті прив'язки?

  • Інші питання - Що ще я повинен брати до уваги?

Відповіді:


9

Спробуйте ознайомитись із цим питанням ТА: Чи є комбінації клавіш emacs, зарезервовані для спеціальних команд?

Щодо перегляду того, що доступно, є unboundбібліотека (див . Першу відповідь на вищезазначене питання).

Одна конвенція (узята з моєї відповіді на це питання ):

Ви можете переосмислити що завгодно, але умовою є використання C-c l (де lбудь-яка літера).

Як користувач, ви можете переглядати будь-який ключ; але, як правило, краще дотримуватися ключових послідовностей, які складаються з C-c наступних літер (верхнього або нижнього регістру). Ці клавіші "зарезервовані для користувачів", тому вони не будуть конфліктувати з будь-яким належним чином розробленим розширенням Emacs. Функціональні клавіші F5через F9також зарезервовані для користувачів. Якщо ви перегляньте якийсь інший ключ, ваше визначення може бути замінено певними розширеннями або основними режимами, які повторно визначають один і той же ключ.

Пам'ятайте лише, що прив'язки клавіш є різними в кожному з різних (основних та другорядних) режимів, тому те, що доступне в одному буфері, не обов’язково доступне в іншому. І зробіть свої ключові прив’язки на максимально локалізованому рівні. Наприклад, якщо функціональність робить що - то в рядку коду, не роблять глобальний ключ прив'язки для цього, визначити його в відповідних розкладок ( c++-mode-map, ruby-mode-mapі т.д.).

Що стосується конкретних завдань, ви помітили:

  • M-% ака query-replace
  • C-M-% ака query-replace-regexp

Крім того, коли ви шукаєте ( C-sабо C-M-s(і зворотні варіанти)), ви можете ввести M-%(або C-M-%), щоб безпосередньо ввести query-replace( query-replace-regexp) рядок пошуку як предмет, який потрібно замінити ... Досить зручно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.