关于xcode:Force Magic Magic Home键和Ends键在macOS High Sierra中的行为类似于Windows?

Force Magic Keyboard Home and Ends keys to behave like Windows in macOS High Sierra?

我是一名全职.NET开发人员,因此我在Windows 10中工作;但是,我绝对更喜欢macOS并在家中使用它。我经常使用Home和End键,它们使我的工作效率大大提高。有什么方法可以强制macOS上的Home和End键的行为类似于Windows 10?

我想要什么

Home:将光标发送到当前行的开头

End:将光标发送到当前行的末尾

Shift-Home:通过选择将光标发送到当前行的开头

Shift-End:将光标发送到具有选择内容的当前行的末尾

Command-Home:将光标发送到当前文档的开头

Command-End:将光标发送到当前文档的末尾

Shift-Command-Home:通过选择将光标发送到当前文档的开始

Shift-Command-End:通过选择将光标发送到当前文档的末尾

我尝试过的事情

一个简单的Google搜索为我提供了在~/Library/KeyBindings/DefaultKeyBinding.dict中添加自定义NSResponder条目并重新启动的可能解决方案。不幸的是,这似乎没有用。我已经在Xcode,Sublime Text和Safari中对其进行了测试。按键似乎以正常的macOS方式运行。

1
2
3
4
5
6
{
   "\\UF729"  ="moveToBeginningOfLine:";
   "\\UF72B"  ="moveToEndOfLine:";                        
   "$\\UF729" ="moveToBeginningOfLineAndModifySelection:";
   "$\\UF72B" ="moveToEndOfLineAndModifySelection:";
}

我也尝试过使用BetterTouchTool来设置键盘快捷键,将Home映射为Command-Left,将End映射为Command-Right。这适用于Home和End,但不适用于选择文本或导航文档

我正在使用什么

  • 2012年中非Retina MacBook Pro
  • macOS High Sierra公开Beta 5
  • 苹果魔术键盘
  • Xcode,Sublime Text,Safari专用

奖励积分

左键:将光标发送到单词的开头

Command-Right:将光标发送到单词的末尾

Shift-Command-Left:将光标发送到带有选择的单词的开头

Shift-Command-向右:将光标发送到选择的单词的末尾


我不确定自己所做的更改,但突然开始起作用。这是我的DefaultKeyBinding.dict。这是原始文件的粘贴框。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"\\UF729" ="moveToBeginningOfLine:";                            /* Home */
"\\UF72B" ="moveToEndOfLine:";                                  /* End */
"$\\UF729" ="moveToBeginningOfLineAndModifySelection:";         /* Shift + Home */
"$\\UF72B" ="moveToEndOfLineAndModifySelection:";               /* Shift + End */
"@\\UF729" ="moveToBeginningOfDocument:";                       /* Cmd + Home */
"@\\UF72B" ="moveToEndOfDocument:";                             /* Cmd + End */
"@$\\UF729" ="moveToBeginningOfDocumentAndModifySelection:";    /* Shift + Cmd + Home */
"@$\\UF72B" ="moveToEndOfDocumentAndModifySelection:";          /* Shift + Cmd + End */
"@\\Uf702" ="moveWordLeft:";                                    /* Cmd + Left */
"@\\Uf703" ="moveWordRight:";                                   /* Cmd + Right */
"@$\\Uf702" ="moveWordLeftAndModifySelection:";                 /* Shift + Cmd + Left */
"@$\\Uf703" ="moveWordRightAndModifySelection:";                /* Shift + Cmd + Right */
}