Emacsificar OSX a lo largo de: word-forward (⌥ + F) y word-backward (⌥ + B) en lugar de 'caracteres especiales'?

8

Sí, el OSX ya admite + y + para mover la palabra del cursor- hacia atrás y hacia adelante, pero alcanzar las teclas de flecha es molesto. Entonces, ¿por qué no hacer que + B y + F hagan esto? Quiero decir, ni una sola vez (intencionalmente) escribí el signo integral ∫ con + B (aparte de ahora).

En resumen, prefiero tener un comportamiento similar a Emacs (no solo, digamos, ^ + F para el carácter hacia adelante) en todo el OSX.

Pregunta relacionada: Deje de usar la opción del teclado de Mac como un modificador al carácter

    
pregunta Blaz 17.10.2012 - 15:29

1 respuesta

7

DefaultKeyBinding.dict

Cree ~/Library/KeyBindings/ y guarde una lista de propiedades como esta como ~/Library/KeyBindings/DefaultKeyBinding.dict :

{
  "^ " = setMark:;
  "^/" = undo:;
  "^l" = selectParagraph:;
  "^u" = deleteToBeginningOfParagraph:;
  "^w" = deleteToMark:;
  "^x" = {
    "^x" = swapWithMark:;
    "^m" = selectToMark:;
  };
  "^V" = pageDownAndModifySelection:;
  "[email protected]" = selectWord:;
  "~b" = moveWordBackward:;
  "~c" = (capitalizeWord:, moveForward:, moveForward:);
  "~d" = deleteWordForward:;
  "~f" = moveWordForward:;
  "~l" = (lowercaseWord:, moveForward:, moveForward:);
  "~r" = centerSelectionInVisibleArea:;
  "~u" = (uppercaseWord:, moveForward:, moveForward:);
  "~v" = pageUp:;
  "~w" = (deleteToMark:, setMark:, yank:, swapWithMark:);
  "~B" = moveWordForwardAndModifySelection:;
  "~F" = moveWordForwardAndModifySelection:;
  "~V" = pageUpAndModifySelection:;
}

DefaultKeyBinding.dict no funciona en algunas aplicaciones como Xcode o Firefox. Los métodos que utilizan el anillo de eliminación eliminan el formato del texto enriquecido. Las combinaciones de teclas que ingresan en estados de tecla muerta (como la opción-u en la distribución del teclado de los EE. UU.) No se pueden reasignar.

Vea también enlace . transposeWords: no funciona en la mayoría de las aplicaciones. openDocument: y saveDocument: no funcionan en aplicaciones que utilizan el guardado automático, y performClose: tampoco funciona en todas partes.

Consulte enlace o enlace para obtener más información.

KeyRemap4MacBook

Una opción es habilitar la configuración en el Grupo de modo Emacs :

Otraopciónesguardarunarchivocomoestecomo~/Library/ApplicationSupport/KeyRemap4MacBook/private.xml:

<?xmlversion="1.0"?>
<root>
  <appdef>
    <appname>EMACSMODEIGNORE</appname>
    <equal>com.gnu.Emacs</equal>
    <equal>com.apple.Terminal</equal>
    <equal>com.googlecode.iterm2</equal>
    <equal>com.vmware.fusion</equal>
    <prefix>com.vmware.proxyApp.</prefix>
  </appdef>
  <item>
    <name>emacs</name>
    <identifier>private.emacs</identifier>
    <not>EMACSMODEIGNORE</not>
    <autogen>__KeyToKey__ KeyCode::P, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_UP</autogen>
    <autogen>__KeyToKey__ KeyCode::N, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_DOWN</autogen>
    <autogen>__KeyToKey__ KeyCode::B, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_LEFT</autogen>
    <autogen>__KeyToKey__ KeyCode::F, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT</autogen>
    <autogen>__KeyToKey__ KeyCode::P, VK_CONTROL | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_UP, VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::N, VK_CONTROL | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_DOWN, VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::B, VK_CONTROL | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::F, VK_CONTROL | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::B, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_OPTION</autogen>
    <autogen>__KeyToKey__ KeyCode::F, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_OPTION</autogen>
    <autogen>__KeyToKey__ KeyCode::B, VK_OPTION | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, VK_OPTION | VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::F, VK_OPTION | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, VK_OPTION | VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::D, VK_OPTION | ModifierFlag::NONE, KeyCode::FORWARD_DELETE, VK_OPTION</autogen>
    <autogen>__KeyToKey__ KeyCode::V, VK_OPTION | ModifierFlag::NONE, KeyCode::PAGEUP</autogen>
    <autogen>__KeyToKey__ KeyCode::V, VK_OPTION | VK_SHIFT | ModifierFlag::NONE, KeyCode::PAGEUP, VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::V, VK_CONTROL | VK_SHIFT | ModifierFlag::NONE, KeyCode::PAGEDOWN, VK_SHIFT</autogen>
    <autogen>__KeyToKey__ KeyCode::U, VK_CONTROL | ModifierFlag::NONE, KeyCode::DELETE, VK_COMMAND</autogen>
  </item>
</root>

Luego, abra la aplicación KeyRemap4MacBook, presione el botón ReloadXML y habilite la configuración.

Cambie los códigos de clave si utiliza una distribución de teclado como Dvorak o Colemak.

Consulte enlace o enlace para más información.

    
respondido por el user495470 09.11.2012 - 15:37

Lea otras preguntas en las etiquetas