`
pake007
  • 浏览: 58387 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
社区版块
存档分类
最新评论

Mac Terminal 的命令编辑技巧

阅读更多
看了同学的blog,正好现在自己也在用Mac工作,所以转过来memo一下

初次试用 Mac 的 Terminal,肯定会觉得在命令行上移动光标非常不方便 —— Mac 的大部分程序中按下 Home/End 键都不是到达行首或行末,这让初次接触 Mac 的用户们很烦恼。这个其实比较容易解决,在 Mac 中,多数情况下 Ctrl-a/Ctrl-e 是行首、行末。接下来就说说其它的一些技巧,让你在 Terminal 中的工作更加高效。

现在的 Mac OS X 中的默认 shell 都是 bash 了。bash 的最基本的技巧就不必多说了,大家按得最多的,我想可能是上下方向键(或者 Ctrl-p/Ctrl-n),还有 Ctrl-r 搜索命令历史。

—————–不仅限于 Mac—————–

有一个我们一般不去碰的命令 —— “set -o vi”,它会把 bash 命令行的编辑方式改成 vi,当然了,默认 mode 是 “Insert”。你可以试试执行这个命令,然后输入命令,按下 ESC. 这时 j/k 就是上一条/下一条命令,h/l 就是左右移动了,再试试 w? 如果你喜欢 vi,这也许是个不错的选择

默认的编辑方式是 emacs,可以通过 “set -o emacs” 来设置。也就是说,在 bash 中,默认我们是可以用 Emacs 的方式来编辑命令的。回头看到达行首/行末的命令 Ctrl-a/Ctrl-e,它们就是 Emacs的命令啊。下面列出对命令编辑非常有用的一些其它指令:

Ctrl-f/Ctrl-b: 向前/向后移动一个字符 (forward/backword),相当于方向键。
Ctrl-n/Ctrl-p: 向下/向上移动一行,就是历史查找了,也相当于方向键
Meta-f/Meta-b: 向前/向后移动一个单词(在 vi 模式下可以单按w/e/b)
Meta-d/Meta-backspace: 向前/向后删除一个单词 (vi:dw/db)
Ctrl-k: 删除到行末,非常方便。比如你向前翻历史翻了很久,又决定从头输入一个命令,那么就 Ctrl-a, Ctrl-k,把整行删掉。(vi:d$, 还可以 d^ 删除到行首,不知道 emacs 有没有对应的便捷方式?)

————-不仅限于 Mac 部分结束————-

请看 Meta 键的介绍。

如果是在 Linux 系统中,那么上文列出的命令中的 Meta 直接用 Alt 替代就行了。而在 Mac Terminal 默认的配置下,我们需要首先按一下 ESC,放开后再按后面的字母,挺不习惯吧?(这种方式在 Linux 中也应该可行)其实在 Mac 中想要试用 Alt(Option) 也很简单。打开 Terminal 的 Preferences -> Settings,选择你使用的 color scheme,在 keyboard 设置的最下面有个 “Use option as meta key”,选中就可以了。实际上这就是设置了 Terminal 程序如何发送给 shell 按键代码。不选中的话,你 ssh 到一台 Linux 机器上也必须用 ESC 键。
分享到:
评论

相关推荐

    terminal_Notes:Mac终端可帮助您执行命令以从Mac上的文件夹或目录获取数据

    标题“terminal_Notes:Mac终端可帮助您执行命令以从Mac上的文件夹或目录获取数据”暗示了这个压缩包可能包含一系列关于如何利用Mac终端进行文件操作和数据提取的教程或笔记。 在描述中提到,“Mac终端可帮助您发出...

    mac使用技巧

    11. **让Mail读邮件**:选中邮件内容,通过“编辑”-“阅读”-“开始阅读”命令,Mac会朗读邮件,但不支持中文朗读。 12. **Safari新建标签页**:在Safari的标签栏空白处双击鼠标,可以快速新建标签页。 13. **...

    terminal-mac-cheatsheet:Mac终端中我最常用的命令和快捷方式的列表

    在Mac操作系统中,终端(Terminal)是一个强大的工具,它提供...这些只是Mac终端中一小部分常用命令和快捷方式,实际使用中,还有更多技巧和高级功能等待探索。熟练掌握这些命令将极大地提升你在Mac终端中的工作效率。

    iTerm2 zsh 技巧1

    iTerm2 是 Mac 上的一款终端模拟器辅助软件,极大方便和自定义 terminal 的配置和使用。下面是 iTerm2 的一些技巧: ### iTerm2 快捷键 * ⌘ + Click:可以打开文件、文件夹和链接 * ⌘ + n :新建窗口 * ⌘ + t ...

    Xcode使用教程详细讲解.pdf

    可以使用 terminal 命令来设置公司名称。命令如下: ``` defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "LiYanzhong";}' ``` 执行该命令后,我们重新启动 Xcode 并...

    Mac-OS-X:OS X 命令维基

    这个维基文档将涵盖在Mac上使用Terminal.app进行各种操作的基础知识和高级技巧。 ### 1. 终端基础 - **启动Terminal.app**:在Spotlight搜索中键入“Terminal”或通过“应用程序”> “实用工具”找到它。 - **...

    玩转我的苹果电脑(Mac OS X 10.7版)高手篇

    根据给定的标题“玩转我的苹果电脑(Mac OS X 10.7版)高手篇”以及描述,我们可以理解本文旨在深入探讨Mac OS X 10.7(也称为Lion)系统的高级使用技巧与功能。由于提供的部分内容并未包含实际的信息,我们将依据标题...

    锐捷网络交换机配置手册-全面

    **2.3 CLI命令的编辑技巧** - 使用上下箭头键可以快速调用历史命令。 - 输入命令的一部分后按Tab键可自动补全。 **2.4 常见CLI错误提示** - `Invalid input detected at '^' marker`: 输入的命令格式错误或语法不...

    锐捷路由器配置手册.doc

    - **CLI命令编辑技巧**:学习如何使用历史记录、自动补全和撤销等功能提高配置效率。 - **错误提示处理**:理解并解决常见CLI错误,如语法错误、权限不足等。 3. **配置文件操作**: - **查看配置文件**:检查...

    Sublime Text2

    3. 插件管理:安装Package Control后,可以通过快捷键Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板,输入“Package Control: Install Package”安装所需插件。 4. 快速导航:利用“Goto ...

    笨兔兔的故事

    9. **终端模拟器**:理解终端的重要性,学习使用各种终端模拟器(如Gnome Terminal、Terminator等),以及安装和使用Vim或Nano等文本编辑器。 10. **故障排查**:了解基本的错误处理和问题排查技巧,如查看日志文件...

    linux教程

    7. **文本编辑器**:介绍常用的文字编辑器,如Vi/Vim、Nano、Emacs,包括它们的基本用法和高级技巧。 8. **软件管理**:在Linux中,软件通常通过包管理器安装,如Ubuntu的`apt`,CentOS的`yum`或`dnf`。这部分会...

    网站和工具:分类收藏一些网站,工具和软件,记录一些关于WindowsmacOSlinux系统的使用技巧和软件操作

    2. **macOS**:苹果公司的操作系统专为Mac电脑设计,以其稳定性和设计美学受到赞誉。Finder是macOS的文件管理工具,而Activity Monitor则类似Windows的任务管理器。Terminal是macOS中的命令行界面,对开发者尤其有用...

    纯键盘操作高手指南(1).zip

    例如,Windows系统中的CMD或PowerShell,Linux和Mac OS的Terminal,都可以通过键盘输入指令完成文件管理、网络访问等各种任务。常用的命令如cd改变目录,dir或ls列出目录内容,copy或cp复制文件,del或rm删除文件等...

    Objectivec入门图文实例

    - 通过终端(Terminal)进行设置,执行命令 `defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "YourCompanyName";}'` 来替换默认的 `__MyCompanyName__`。 - 修改后,...

    vscode教程.doc

    - 打开命令行工具(在Windows上是CMD,Mac和Linux上则是Terminal)。 - 输入以下命令检查Node.js及其包管理器(npm)的版本: ``` node -v npm -v ``` 4. **安装Vue.js**: - Vue.js是一个用于构建用户界面...

    Objective-C Recipes - A Problem-Solution Approach

    1. 使用你喜欢的文本编辑器(如vi或TextEdit)在你的主目录`/Users/[yourusername]/`下创建一个文件。 2. 在这个文件中,你需要添加一个主函数。尽管Objective-C提供了更多的功能,但主函数的形式与C语言非常相似。 ...

Global site tag (gtag.js) - Google Analytics