Bla*_*laz 117 keyboard-shortcuts duplication key-bindings xcode4 xcode5
有是一个Duplicate在编辑菜单(用默认的快捷命令⌘D),但它(如哈雷指出的)意味着在Xcode中的Interface Builder的部分重复.
那么,你如何(轻松)在Xcode 4中复制一行?
Xcode 3的相关问题(带有工作答案)......并且不适用于Xcode 4.
因为它很乏味并且需要太多的手工杂技:
要么(1):移动到行开始然后按⇧^E,然后复制⌘C,移动到新行,对齐光标,最后粘贴⌘V;
或(2) :( ^A设置光标到行开始),^SPACE(设置标记),^E(设置光标到行结束),⇧^W(Select to Mark;自定义),复制,换行等.
正如FrankSchröder(在相关问题中)所说:
重点不是使用Cmd-C/Cmd-V快捷方式.
Hai*_*lei 167
转到包含力的黑暗面的文件夹:
/Developer/Library/PrivateFrameworks/IDEKit.framework/Resources/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources.打开IDETextKeyBindingSet.plist.
添加一个新的字典和一个新的命令项作为下面的截图(命名他们你想要的):

那是: selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:
重新启动Xcode并转到Preferences - Key Bindings,搜索您的命令.
为命令设置组合键:

终于在Xcode上释放了键绑定的强大功能......尽情享受吧!
Zum*_*med 71
提供persiomission来编辑以下文件,大多数时候OS不允许您编辑文件.
sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/
Run Code Online (Sandbox Code Playgroud)
编辑以下文件,
open /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
Run Code Online (Sandbox Code Playgroud)
通过编写以下命令.
<key>Customized</key>
<dict>
<key>Duplicate Lines</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
<key>Duplicate Current Line</key>
<string>selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:, moveToBeginningOfLine:, moveToEndOfLine:</string>
</dict>
Run Code Online (Sandbox Code Playgroud)
附加以下xml snipets.
sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/
Run Code Online (Sandbox Code Playgroud)
已编辑文件的屏幕截图.
然后重新启动Xcode并转到Preferences - Key Bindings,搜索我们输入的命令(Duplicate Lines&Duplicate Current Line).
而已.
pee*_*ess 17
今天我为Xcode 5编写了一个非常小的插件,用于删除和复制行和选择.
你可以从我的GitHub repo下载它: XcodeKit插件 - https://github.com/ptfly/XcodeKit
Kel*_*lan 13
@Hailei的回答相当不错,但是有一个令人遗憾的副作用,即破坏剪贴板内容(留下它填充了重复行的内容),这正是我试图避免的手动复制/粘贴方法的一部分.
所以,我将命令序列更改为:
moveToBeginningOfLine:,
deleteToEndOfLine:,
yank:,
insertNewline:,
moveToBeginningOfLine:,
yank:
Run Code Online (Sandbox Code Playgroud)
yank:如果你NSTextKillRingSize设置了除了之外的东西,2 s可能无法正常工作1,但我很确定1是默认的,你必须做一些非平凡的工作来改变它(它需要添加一个条目~/Library/Preferences/.GlobalPreferences.plist).
Ryc*_*chu 11
好的,我想出了这个:
selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:
Run Code Online (Sandbox Code Playgroud)
由于我在每次更新XCode后都应用此更改,因此我为此创建了一个脚本.可能会造成一些损害,但我试图让它相对安全.它制作文件的副本,然后使用perl替换其副本和附加命令行.
cp /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist ~/Desktop/IDETextKeyBindingSet.plist; sudo perl -pi -e 's/\<string\>selectWord:\<\/string>/'$'\<string\>selectWord:\<\/string\>\n\t\t\<key\>Duplicate Selection\<\/key\>\n\t\t\<string\>selectParagraph:, delete:, undo:, moveRight:, yankAndSelect:\<\/string>/g' /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
Run Code Online (Sandbox Code Playgroud)
编辑:次要修复edit2:更改为段落选择
我想知道为什么没有人提到使用⌘箭头键(←↑→↓)来移动光标和选择整行(通过添加⇧).
我通过使用⌘+ ←(而不是ctrl+ A)将光标移动到行的开头来定期复制整行(复制),然后使用⌘+ ⇧+ →(而不是ctrl+ ⇧+ E)选择整行到结尾,然后复制/粘贴.
我遇到其他似乎没有人使用这些键盘快捷键的线程.它们在OS X中是全球性的,我一直都在使用它们!更少的手工杂技;)
Xcode 最终使用 \xe2\x8c\x98 + D 在 Xcode 14 中添加了此功能,请参阅此处的发行说明:
\n\n\n\n编辑代码时,“编辑”>“复制”菜单项及其\n相应的键盘快捷键现在会复制所选文本 \xe2\x80\x94 或\n当前包含插入点的行(如果未选择任何文本)。(8614499) (FB5618491)
\n
为什么要复制一行?重复整段更好.我的序列:
重复当前段落
selectParagraph:,
delete:,
yank:,
moveToBeginningOfParagraph:,
yank:,
moveUp:,
moveToEndOfParagraph:
Run Code Online (Sandbox Code Playgroud)
删除当前段落
selectParagraph:,
delete:,
moveUp:,
moveToEndOfParagraph:
Run Code Online (Sandbox Code Playgroud)
在Xcode 4.6中正常工作
编辑:2018年12月23日 更新到Xcode 10.1后,我的所有快捷方式再次破裂.但不同的是,在更新plist文件以进行行复制后,我没有必要定义我的键绑定,它们已经存在.奇怪.
编辑:2018年 10 月14日 Xcode 10:苹果公司的高手真的很喜欢复制/粘贴,并确保每个版本的Xcode更新,都会从每个人的安装中删除行复制.我们的开发人员对Xcode中的这种废话一直非常沮丧,因为永远是唯一没有行重复选项的IDE.我刚刚更新到Xcode 10,正如您猜测的那样 - 我的所有快捷键都与我的行重复功能一起被删除.但是,它像原始答案一样可以修复.这次略有不同,你需要以下几行:
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
Run Code Online (Sandbox Code Playgroud)
编辑: Xcode 9:我不得不重做我的快捷方式和行复制和删除,但好的是现在你可以再次编辑IDETextKeyBindingSet.plist.这个高级苹果公司的人在发布这个版本时必须休假.
编辑: Xcode 8:Buggy,你根本无法修改IDETextKeyBindingSet.plist文件.Xcode在启动时重置它.Apple的这位高层人士真的决定让我们使用复制/粘贴而不是简单的行复制,就像所有其他IDE一样.
编辑: Xcode 7.1仍然没有行重复和删除的快捷方式.这是我曾经使用过的唯一没有这种快捷方式的IDE.如果没有这两个关键捷径,我无法想象开发人员的生活.
根据我所读到的内容,我为这些快捷方式设置了Xcode,并在以下网址发布了博客:http://jixte.com/2016/03/30/line-duplicate-and-deletion-in-xcode-7-x /
以下是它的完成方式:
首先我们需要修改一个位于Xcode.app包内的plist文件(需要sudo编辑)
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
然后查找duplicate line并在plist标签下添加以下内容:
<key>Insert New Line Below</key>
<string>moveToEndOfLine:, insertNewline:</string>
<key>Insert New Line Above</key>
<string>moveUp:, moveToEndOfLine:, insertNewline:</string>
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
Run Code Online (Sandbox Code Playgroud)
然后duplicate line在plist标签下面的部分找到和这些:
<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>
Run Code Online (Sandbox Code Playgroud)
现在打开/重新启动Xcode,转到"首选项"并转到"键绑定"选项卡.使用搜索栏过滤并查找新的快捷方式.然后在快捷方式说明前单击,为其指定您喜欢的快捷方式.确保您的快捷方式与现有快捷方式不冲突.
小智 6
复制菜单项及其相应的键盘快捷键现在复制所选文本
\n\n\n\nXcode 14 Beta 3 中的新功能\n编辑代码时,“编辑”>“复制”菜单项及其相应的键盘快捷键现在会复制所选文本 \xe2\x80\x94 或当前包含插入点的行(如果未选择任何文本)。(8614499) (FB5618491)
\n
| 归档时间: |
|
| 查看次数: |
40642 次 |
| 最近记录: |