你可能不知道的 Mac 技巧 - 文本操作

找不到 Mac 上的 Home,End,PageUp?想截图还得打开 QQ?不知道 Mac 如何剪切文件?找不到全屏窗口的按钮?找不到隐藏文件夹?不知道如何向后删除?想少用鼠标,多用键盘?……
希望我的这一系列博文能帮到你
文章内容及图片来源于:知乎,如果涉及版权问题,请联系作者删除
文章收录于:风云社区(提供上千款各类mac软件的下载)
概述
我知道,类似的文章网上一搜一大把。作为一个只用 Mac 搞了不到一年开发的菜鸡,很多功能我也还在摸索中。本文旨在把自己积累的一些小技巧与大家分享,任何疑问、意见、建议,请在下方留言评论
移动与选取
1. 光标移动
刚从 Windows 转过来的时候可能会发现,Mac 上没有 Home 和 End 键。其实,直接这样就好了:
Cmd + ← 移至行首 (Home) Cmd + → 移至行尾 (End)
类似的,找不到 PageUp 和 PageDown,其实 Mac 系统也是有的:
Fn + ↓ 向下翻页 (PageUp) Fn + ↑ 向上翻页 (PageDown)
再比如,对于一些很长的网页,想快速跳到顶部和底部,即使网页上没有按钮也没关系,可以这样:
Cmd + ↑ 回到顶部 Cmd + ↓ 跳到底部
Mac 中也提供了按词跳光标的功能,英文中就是通过空格来判断:
Alt + ← 向前跳一个词 Alt + → 向后跳一个词
2. 删除
Windows 系统很贴 ♂ 心地为我们加上了两个删除键,一个是位于等号右边的退格(BackSpace),一个是位于方向键上面的向后删除(Delete)。Mac 虽然只有一个 "delete",相当于 Windows的退格。但其实,我们只要通过组合键 "fn + delete" 就可以实现向后删除了
不仅如此,"delete" 和 "fn + delete" 绝大部分情况下可以搭配 "Alt" 实现向前/向后删除一个词。一些情况下可以搭配 "Cmd" 实现删除整行(在编辑器 Atom 中不行,因为 Atom 把这个组合键默认设置成了删除至行首/行尾,如有需要,改下配置就好了)
3. 文本选取
以上所有提到的快捷键,都可以搭配 "Shift" 来实现选取
想向上选中半页的内容,只需要:
Fn + Shift + ↑
想从当前位置选到末尾(多行),只需要:
Cmd + Shift + ↓
想向后选中三个词,只需要(* 3 表示按三次):
Alt + Shift + → * 3
想选择整行,只需要:
Cmd + ← 然后 Cmd + Shift + →
当然也可以:
Cmd + → 然后 Cmd + Shift + ←
编辑操作
1. 基础操作
简单来说,大部分快捷键,就是把 Windows 的 “Ctrl” 替换成 “Cmd” 就行了,比如:
Cmd + A 全选 Cmd + C 复制 Cmd + X 剪切 Cmd + V 粘贴 Cmd + Z 撤销 Cmd + Shift + Z 恢复(恢复撤销操作)
2. 移动文件
这部分可能不应该放在这篇博客中。只是个人觉得,与复制粘贴文本快捷键一起去记忆和使用,会比较好理解
上面提到的大部分快捷键对于在 Finder 中操作文件也是同理,我们可以全选、复制、粘贴甚至撤销和恢复,唯独不能通过 "Cmd + X" 来剪切
很多朋友抱怨说 Mac 只能复制粘贴文件之后再把原来的删除(顺便,把文件移动到 Trash 的快捷键是 "Cmd + delete"),移动文件的时候很不方便。其实,Mac 是有这个功能的。复制之后,在目标文件夹右键,菜单打开后,按住 Alt,本来的 “Paste Item” 就会变成 “Move Item Here”:

当然,也可以通过快捷键 "Cmd + Alt + V" 来完成移动文件,会出现这样的提示,确定即可:

3. 格式快捷键在大部分文本编辑器,比如 Microsoft Word 或者 Apple 的 Pages,Numbers 中,我们可以用快捷键调格式:
Cmd + B 文字加粗(Bold) Cmd + I 斜体文字(Italic) Cmd + U 文字下划线(Underline)
4. 特殊快捷键
这些快捷键可以不去记忆,对于开发者来说可能会偶尔用,对于绝大部分用户,可能并不怎么需要
比如在 iTerm 中,我们会发现,用 "Cmd + ←" 是跳不回开头的,因为 iTerm 已经把这个键设置成了跳到上一个 Tab。同样,用 “Alt” 键跳单词也不行了
这种情况下,我们需要这些特殊快捷键来实现功能:
Ctrl + A 跳到行首(Home) Ctrl + E 跳到行尾(End) Ctrl + F 向后移动一个词 Ctrl + B 向前移动一个词 Ctrl + P 光标上移一行 Ctrl + N 光标下移一行
这些快捷键,特别是在手打比较长的命令的时候,会很有用。这些快捷键也适用于其他的大部分环境。对于一般用户,没必要去特别记忆了,用上面提到的那些就好
一点点补充
关于 "Cmd + F" 文字查找,我打算在后面说 Chrome 操作的时候再提及。关于 "Cmd + R" 文字替换,暂时不打算多介绍。个人觉得这个功能对于普通用户来说可能意义不太大吧。而且现在很多编辑器和软件都有比较友好的替换窗口,用起来也不会太困难
写在最后
目前打算从以下几个方面来总结常用的技巧:
- 文本编辑相关操作(即为本篇)系统快捷键Finder 和 Chrome 里的一些实用快捷键如何调教系统,让它更符合你的使用习惯
- 用 HammerSpoon 配置自己的全局快捷键
包括 iTerm 和 WebStorm 在内的我每天都会用的 App,如果把它们的快捷操作也写全,内容可能会过多,而且并不是所有人都需要用,只打算在文章中稍微提一些。另外我也一直计划着要写一个详解 WebStorm 的系列文章
我想,这一篇已经基本覆盖了文本编辑中的重要操作。如果你觉得还有需要补充的,欢迎在下方留言
如果你喜欢这篇文章,请帮我点个赞?
文章内容及图片来源于:知乎,如果涉及版权问题,请联系作者删除
文章收录于:风云社区(提供上千款各类mac软件的下载)
你可能不知道的 Mac 技巧 - 文本操作的更多相关文章
- [iOS翻译]《iOS 7 Programming Pushing the Limits》系列:你可能不知道的Objective-C技巧
简介: 如果你阅读这本书,你可能已经牢牢掌握iOS开发的基础,但这里有一些小特点和实践是许多开发者并不熟悉的,甚至有数年经验的开发者也是.在这一章里,你会学到一些很重要的开发技巧,但这仍远远不够,你还 ...
- 漫谈程序员(十一)老鸟程序员知道而新手不知道的小技巧之Web 前端篇
老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方 ...
- [No0000194]聊聊 Chrome DevTools 中你可能不知道的调试技巧
对于前端开发者来说,ChromeDevTools 绝对是不可或缺的调试工具,我们常用的调试方法包含一些console等,而ChromeDevTools 其实很强大,下面来聊聊一些你可能不知道的debu ...
- 你所不知道的Mac截图的强大
Mac的截图功能扩展功能很强大的,不要用QQ那个COM+Ctrl+A弱爆了的截图了~ 首先说一下两种截图 1.Command+shift+3:全屏截图,保存截图到桌面 2.Command+shift+ ...
- 初学者可能不知道的vue技巧
前言 大家好,这里是@IT·平头哥联盟,我是首席甩锅官——老金,今天给大家分享的,一些日常中神秘而又简单的vue的实用小技巧,以及我在我司项目中实用vue的总结和坑,跟大家一起分享,希望能给其他攻城狮 ...
- 你可能不知道的 Python 技巧
英文 | Python Tips and Trick, You Haven't Already Seen 原作 | Martin Heinz (https://martinheinz.dev) 译者 ...
- iPhone 上你可能还不知道的小技巧
用了这么久的 iPhone,这些技巧你可能都还不知道哦. 1.怎么用耳机切歌? 将耳机的话筒部位的中间(平时暂停用的,按一下)连按两下 即可. 连按两下,下一首. 连按三下,上一首. 2.摇一摇,相当 ...
- 你可能不知道的 transition 技巧与细节
CSS 中,transition 属性用于指定为一个或多个 CSS 属性添加过渡效果. 最为常见的用法,也就是给元素添加一个 transition,让其某个属性从状态 A 变化到状态 B 时,不再是非 ...
- 【转载】14个你可能不知道的 JavaScript 调试技巧
了解你的工具可以极大的帮助你完成任务.尽管 JavaScript 的调试非常麻烦,但在掌握了技巧 (tricks) 的情况下,你依然可以用尽量少的的时间解决这些错误 (errors) 和问题 (bug ...
随机推荐
- c/c++ 拷贝控制 构造函数的问题
拷贝控制 构造函数的问题 问题1:下面①处的代码注释掉后,就编译不过,为什么??? 问题2:但是把②处的也注释掉后,编译就过了,为什么??? 编译错误: 001.cpp: In copy constr ...
- Python基础——3特性
特性 切片 L=[0,1,2,3,4,5,6,7,8,9,10] L[:3]=[0,1,2] L[-2:]=[9,10] L[1:3]=[1,2] L[::3]=[0,3,6,9] L[:5:2]=[ ...
- Kubernetes-基于flannel的集群网络
1.Docker网络模式 在讨论Kubernetes网络之前,让我们先来看一下Docker网络.Docker采用插件化的网络模式,默认提供bridge.host.none.overlay.maclan ...
- Linux安装python2.7
一.Python安装 以Python-2.7.7为例,安装包:Python-2.7.7.tgz如无特殊说明,以下安装步骤都采用root用户执行 1. 解压Python-2.7.7.tgz tar -x ...
- nodeJS之crypto模块md5和Hmac加密
nodeJS之crypto模块md5和Hmac加密 原文地址:https://www.cnblogs.com/tugenhua0707/p/9128690.html 在nodejs中,可以使用cryp ...
- Ubuntu16.04中php如何切换版本
其实就是一条Linux命令,如下: sudo update-alternatives --config php 会出现下面选项: There are choices for the alternati ...
- js获取浏览器窗体最大化事件
<mce:script language="javascript"><!--function ReSet() {document.getElementById(& ...
- Java面试准备之JVM
介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明 程序计数器:看做当前线程所执行的字节码行号指示器.是线程私有的内存,且唯一一块不报OutOfMemoryError异常. Java虚拟 ...
- Linux 修改本地时间 (centos为例)
1. tzselect [root@xxxx etc]# tzselect --- 选择时区命令 Please identify a location so that time zone rules ...
- 占位符的使用和PreparedStatement接口使用:
一.PreparedStatement 接口的使用 首先占位符我们可以使用 Statement 接口来操作数据, 但是这个接口存在两个问题: 1.使用 Statement 接口对象发送的 sql ...