编辑和删除文本
到目前为止,我们介绍了一些用于在文件中移动和选择区域的方法,现在让我们真正来修改一些文本吧。很显然你可以通过打字的方式来输入字符,但是有另一些方法使删除和处理字符变得更简捷易用。
基本操作
有一些用于基本操作的很酷的快捷键,他们十分易用。这些操作包括整行移动文本,整行复制,以及改变大小写。
ctrl-T
交换光标两边字符的位置
cmd-J
将下一行拼接到当前行的末尾
ctrl-cmd-up
, ctrl-cmd-down
上移或者下移当前行
cmd-shift-D
复制当前行
cmd-K
, cmd-U
将当前字符转为大写
cmd-K
, cmd-L
将当前字符转为小写
Atom也带有一个功能,可以对段落重新排版,在超出提供的最大长度的地方硬换行(hard-wrap)。你可以对当前选中区域格式化,使用cmd-alt-Q
,使其一行的长度不超过80个字符(或者editor.preferredLineLength
设置为什么都可以)。如果没有选中任何东西,当前段落会被重排。
删除和剪切文本
你也可以从你的缓冲区中剪切或删除文本。不要手下留情。
ctrl-shift-K
删除当前一行
cmd-delete
删除当前位置到整行末尾的内容(在mac中为cmd-fn-backspace
)
ctrl-K
剪切当前位置到整行末尾的内容
cmd-backspace
删除当前位置到整行开头的内容
alt-backspace, alt-H
删除当前位置到单词开头的内容
alt-delete, alt-D
删除当前位置到单词末尾的内容
多光标选择
Atom可以做的一件非常酷的事情,就是支持多个光标,开箱即用。这在处理一个很长的文本列表时会相当有用。
cmd-click
添加新的光标
cmd-shift-L
将一个多重选择变为多个光标
ctrl-shift-up
, ctrl-shift-down
在当前光标之上或之下添加新的光标
cmd-D
选择文档中与当前所选的单词相同的下一个单词
ctrl-cmd-G
选择文档中与当前所选的单词相同的所有单词
通过这些命令,你可以在文档的多个位置放置光标,并且一次性有效地在多个位置执行相同操作。
在你执行许多重复性操作时,比如重命名变量或者修改一些文本的格式时,会十分有帮助。你可以一起使用几乎任何插件或命令 —— 比如,修改大小写,以及整行移动或者复制。
你也可以在按下command
键的同时使用鼠标选择文本,来一次性选中多个区域。
空白字符
Atom自带一些命令来帮助你管理你文档中的空白字符。一对非常有用的命令是把空格转换为tab,以及把tab转换为空格。如果你的文档中混用了多种空白字符,这些命令对文档的标准化有巨大帮助。空白字符命令没有相关的快捷键,所以你只能在命令面板中寻找“Convert Spaces to Tabs”(或者反过来),并且选取一个来执行。
空白字符命令在atom/whitespace中实现。空白字符命令的设置,在whitespace
包的页面中提供。
要注意“Remove Trailing Whitespace”选项是默认开启的。意思是每次你保存在Atom中打开的文件时,Atom都会把末尾的空白字符去掉。如果你希望禁用它,在你的设置面板中打开whitespace
包的页面,取消该选项的勾选。
Atom同时也默认确保你文件中有个在末尾的空行,你也可以在上述位置禁用它。
括号
Atom自带一种对括号的智能处理方式。
当你的光标覆盖他们时,Atom会自动高亮{}
、()
和[]
。匹配的xml和html标签也会高亮显示。
Atom也会自动补全[]
, ()
, {}
, “”
, ''
, “”
, ‘’
, «»
, ‹›
和反引号。当你输入开头的一个时,Atom会补全另一个。如果你在一段选择区域上面输入这些括号或引号的开头,Atom会用对应符号的结尾使区域闭合。
下面是一些其他的有趣的括号相关命令,你可以使用它们。
ctrl-m
跳到光标下的括号所匹配的括号。如果没有,就跳到最近的后括号。
ctrl-cmd-m
选择当前括号中所有文本
alt-cmd-.
闭合当前的xml或html标签。
括号功能在atom/bracket-matcher包中实现。和所有这些包一样,想要修改括号处理相关的默认行为,或者直接禁用它,你可以浏览设置视图(Settings view)中这个包的页面。
编码
Atom也自带了一些基本的文件编码支持,如果你发现你在处理非UTF-8文件,或者你打算创建这样的文件的话。
ctrl-shift-U
拉下菜单来修改文件编码
如果你弹出了编码对话框,你可以选择用来保存文件的编码。
当你打开一个文件时,Atom会自动检测文件编码。如果检测失败,编码会默认设置为UTF-8,它也是新建立的文件的编码。
如果你弹出编码菜单,并且修改了活动编码,文件会在下次保存时以那个编码保存。
编码选择器在atom/encoding-selector包中实现。