OSX'i 'özel karakterler' yerine sözcük ileri (⌥ + F) ve sözcük geri (⌥ + B) boyunca zayıflatın mı?


8

Evet, OSX , imleci sözcük geri ve sözcük ileri hareket ettirmek için + ve + işaretlerini zaten destekliyor , ancak ok tuşlarına ulaşmak sinir bozucu. Peki, neden bunu + Bve + Fyapmayı tercih etmiyorsunuz? Demek istediğim, bir kerede (kasıtlı olarak) ( + ile B(şimdi dışında) integral işareti yazmadım .

Kısacası, OSX boyunca Emacs benzeri davranışlar (sadece karakter ileri için ^+ değil) tercih ederim F.


İlgili soru: Karakter için bir değiştirici olarak Mac klavye Seçeneğini kullanmayı durdurma

Yanıtlar:


7

DefaultKeyBinding.dict

Bunun ~/Library/KeyBindings/gibi bir özellik listesi oluşturun ve kaydedin ~/Library/KeyBindings/DefaultKeyBinding.dict:

{
  "^ " = setMark:;
  "^/" = undo:;
  "^l" = selectParagraph:;
  "^u" = deleteToBeginningOfParagraph:;
  "^w" = deleteToMark:;
  "^x" = {
    "^x" = swapWithMark:;
    "^m" = selectToMark:;
  };
  "^V" = pageDownAndModifySelection:;
  "~@" = 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.dictXcode veya Firefox gibi bazı uygulamalarda çalışmaz. Kill halkasını kullanan yöntemler, zengin metinden biçimlendirmeyi kaldırır. Ölü tuş durumlarına giren tuş kombinasyonları (ABD klavye düzenindeki seçenek-u gibi) yeniden atanamaz.

Ayrıca bkz . Http://www.hcs.harvard.edu/~jrus/site/KeyBindings/Emacs%20Opt%20Bindings.dict . transposeWords:çoğu uygulamada çalışmaz. openDocument:ve saveDocument:kullanım otomatik kaydetme ve bu uygulamalarda işi yok performClose:ya her yerde çalışmaz.

Daha fazla bilgi için http://www.hcs.harvard.edu/~jrus/site/cocoa-text.html veya http://osxnotes.net/keybindings.html adresine bakın .

KeyRemap4MacBook

Seçeneklerden biri, önceden tanımlanmış Emacs modu grubundaki ayarları etkinleştirmektir :

Başka bir seçenek de şöyle bir dosyayı kaydetmek ~/Library/Application Support/KeyRemap4MacBook/private.xml:

<?xml version="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>

Ardından KeyRemap4MacBook uygulamasını açın, ReloadXML düğmesine basın ve ayarı etkinleştirin.

Dvorak veya Colemak gibi bir klavye düzeni kullanıyorsanız tuş kodlarını değiştirin .

Daha fazla bilgi için https://pqrs.org/macosx/keyremap4macbook/xml.html.en veya http://osxnotes.net/keyremap4macbook.html adresine bakın .


İnanılmaz. Nispeten düşük seviyeli davranışı değiştirmek ve yine de çok kolay. Bir OS cennetine bir sıçrama. Umarım daha iyi,% 100 çalışma çözümü vardır, aksi takdirde cevap budur.
Blaz

Dediğiniz gibi, tüm uygulamalarda çalışmaz. Xcode, birincisi, bununla uğraşmayacak .dict(ancak, b + B ve ⌘ + F gibi özel bir tuş bağlama ile "çözülebilir"). Yine de, işletim sisteminde Emacs benzeri davranışa (neredeyse) sahip olmak çok güçlü.
Blaz

KeyRemap4MacBook, örneğin ⌥F'yi ⌥ → olarak değiştiren ancak Terminal veya Emacs en öndeyken olmayan bir emacs modu grubuna sahiptir. Buna dayalı bir private.xml oluşturarak özelleştirebilirsiniz . Bence gerçek çözüm daha iyi konumlarda ok tuşları ve değiştirici tuşlar ile bir klavye elde etmektir.
Lri

1
@courteous KeyRemap4MacBook içindeki emacs modu bunu yapar. Bir keylayout dosyasında veya DefaultKeyBinding.dict ile mümkün değildir.
Lri

1
@ courteous Ben de cevaba ekledim. Ben "~w" = selectWord:;de benim DefaultKeyBinding.dict .
Lri
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.