Selaa lähdekoodia

add:MacOS 系统进阶:终端方案iTerm2 + Zsh + Vim

Signed-off-by: tujidelv <tujide.lv@foxmail.com>
tujidelv 6 vuotta sitten
vanhempi
commit
eba1b5ffcd

+ 2 - 0
TOC.md

@@ -1,4 +1,6 @@
 - **Operating System**
+    - [MacOS系统进阶:开发环境Java + Node + Docker](source/_posts/os-mac-ide.md)
+    - [MacOS系统进阶:终端方案iTerm2 + Zsh + Vim](source/_posts/os-mac-terminal.md)
     - [MacOS系统进阶:包管理工具](source/_posts/os-mac-package.md)
     - [MacOS系统入门:常用软件](source/_posts/os-mac-software.md)
     - [MacOS系统入门:系统使用](source/_posts/os-mac-basic.md)

+ 0 - 2
source/_posts/os-mac-basic.md

@@ -7,8 +7,6 @@ tags:
 - mac
 ---
 
-# MacOS 系统入门:系统使用
-
 ## 目录
 
 - [简介](#简介)

+ 0 - 3
source/_posts/os-mac-package.md

@@ -7,8 +7,6 @@ tags:
 - mac
 ---
 
-# MacOS 系统进阶:包管理工具
-
 ## 目录
 
 - [简介](#简介)
@@ -20,7 +18,6 @@ tags:
 
 - Mac与Linux都是基于Unix的系统,因此继承了很多Unix的特性,包括软件的编译,安装等。
 - 有些操作,命令行或者说脚本的方式效率是远高于GUI界面操作的,这个概念需要用过Unix/Linux做过开发的人会懂,特别是搞运维的。
-- Ubuntu下有快捷命令apt-get install来快速安装软件,Centos下有yum install来快速安装。而Mac下也有这种方式,例如使用brew。
 
 ## 正篇
 

+ 0 - 2
source/_posts/os-mac-software.md

@@ -7,8 +7,6 @@ tags:
 - mac
 ---
 
-# MacOS 系统入门:常用软件
-
 ## 目录
 
 - [简介](#简介)

+ 153 - 0
source/_posts/os-mac-terminal.md

@@ -0,0 +1,153 @@
+---
+title: MacOS 系统进阶:终端方案iTerm2 + Zsh + Vim
+date: 2019-11-24 14:02:26
+categories:
+- 操作系统
+tags:
+- mac
+---
+
+## 目录
+
+- [简介](#简介)
+- [正篇](#正篇)
+- [参考链接](#参考链接)
+- [结束语](#结束语)
+
+## 简介
+
+方便前/后端开发人员更好的通过终端解决问题。
+
+## 正篇
+
+### **简介iTerm2**
+
+- iTerm2官网:<https://iterm2.com>
+- Mac的默认终端Terminal太难用了,需要一个新的终端来代替它,iTerm2 + Zsh就是其中一种方案。
+- iTerm2作为后端开发者必须学会的一个技能,不管是为了简化安装一些软件或是处理一些事情,还有工作中的后端程序的软件部署,都会跟 shell 打交道。
+
+### **安装iTerm2**
+
+1. 官网下载下来是一个zip压缩包,解压出来有一个.app文件,双击运行即可安装,或是拖到应用程序里面。
+2. 更改配色方案:Preferences->Profiles->Colors。
+    ```
+    例如设置配色方案为solarized,iTerm2默认是有带的,如果没有则访问:https://github.com/altercation/solarized,
+    在项目中找到solarized/iterm2-colors-solarized 目录,下面有两个文件:Solarized Dark.itermcolors和Solarized Light.itermcolors,
+    双击这两个文件就可以把配置文件导入到 iTerm 里了,同时还要再切换到Text标签,把Draw bold text in bold font的勾去掉。
+    ```
+
+### **使用iTerm2**
+
+- `智能选中`
+    - 在iTerm2中,连续双击选中,连续三击选中整行,连续四击智能选中(智能规则可配置),可以识别网址,引号引起的字符串,邮箱地址等。
+    - 在iTerm2中,选中即复制,即任何选中状态的字符串都被放到了系统剪切板中。
+- `快速调出窗口(Hotkey Window)`
+    - 有时候只是在终端执行几行命令,然后就不再使用它,可是我们还是必须要打开终端,使用完成后关闭它。
+    - 使用iTerm2这个功能只要按快捷键,出来虚化的终端,输入命令,然后再把光标放在其他地方自动就消失了。
+    - 默认iTerm2没有开启此功能,可去设置快捷键:Preferences->Keys->Hotkey。
+- `常用快捷键`
+
+| 快捷键 | 介绍 |
+|:---------|:---------|
+| Command + / |	按完之后,整个屏幕变成白茫茫的,而光标位置是一个小圆圈清除显示出来 |
+| Command + f |	查找,所查找的内容会被自动复制 ,输入查找的部分字符,找到匹配的值按 tab,即可复制,带有补全功能 |
+| Command + option + e | 全屏并排展示所有已经打开的标签页,带有可以搜索。 |
+| Command + Option + b | 历史回放,类似视频录像的东西,有记录你最近时间内的操作。存放内容设置(Preferences -> Genernal -> Instant Replay)。 |
+| Command + Option + 数字 |	切换 Window 窗口 |
+| Command + shift + d |	水平分屏 |
+| Command + shift + h |	查看剪贴板历史,在光标位置下方会出现一列你输入过的历史记录 |
+| Command + Shift + m |	可以保存当前位置,之后可以按Command + Shift + j跳回这个位置。 |
+| Command + shift + alt + w | 关闭所有窗口 |
+
+| 快捷键 | 介绍 | 快捷键 | 介绍 |
+|:---------|:---------|:---------|:---------|
+| Command + 方向键 |	切换标签页 | Control + t |	交换光标和之前的字符 |
+| Command + 数字 | 切换到指定数字标签页 | Control + c |	结束当前状态,另起一行 |
+| Command + ; |	根据(输入的前缀)历史记录自动补全 | Control + k |	删除从光标到行尾的内容 |
+| Command + [ 或 ] | 切换屏幕 | Control + w |	删除光标之前的单词 |
+| Command + enter |	进入全屏模式,再按一次返回 | Control + d |	删除光标所在位置的字符 |
+| Command + 鼠标单击	| 可以打开文件/文件夹/链接 | Control + h |	删除光标之前的字符 |
+| Command + n |	新建新的 Window 窗口 | Control + y |	召回最近用命令删除的文字 |
+| Command + t |	新建标签页 | Control + r |	搜索历史命令 |
+| Command + w |	关闭当前标签或是窗口 | Control + n |	下一条命令,相当于方向键下 |
+| Command + d |	竖直分屏 | Control + p |	上一条命令,相当于方向键上 |
+| Command + r |	清屏 | Control + b |	向后移动,相当于方向键左 |
+| Control + u |	清空当前行,无论光标在什么位置 | Control + f |	向前移动,相当于方向键右 |
+| Control + a |	移动到行首 | Control + e |	移动到行尾 |
+
+### **简介Zsh**
+
+- Zsh官网:<https://www.zsh.org>
+- oh-my-Zsh官网:<http://ohmyz.sh>
+- Zsh和oh-my-Zsh的关系
+    ```
+    Mac和一般的Linux发行版默认采用的shell是bash,并不是很好用。
+    Zsh是Shell中的一种,由于Zsh配置门槛有点高(需要专门花时间去了解Zsh),因为这样,用户也就相对少了。
+    直到有一天oh-my-Zsh的作者诞生,他想要整理出一个配置框架出来,让大家直接使用他的这个公认最好的Zsh配置,省去繁琐的配置过程。
+    所以,oh-my-Zsh 就诞生了,它只是会了让你减少Zsh的配置,然后又可以好好享受Zsh这个Shell。
+    ```
+
+### **安装Zsh**
+
+1. 安装Git
+    > $ brew install git
+2. 安装wget
+    > $ brew install wget
+3. 安装Zsh
+    > $ brew install Zsh
+4. 安装oh-my-Zsh
+    > $ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-Zsh/master/tools/install.sh -O -)"
+    
+    > 下载完后,会提示你输入当前登录系统的用户密码,输入完成之后就会从 bash 切换到 Zsh,如果你没有输入密码直接跳过了,
+    可以运行该命令进行手动切换:chsh -s /bin/Zsh gitnavi(你当前系统用户名),切换完成之后,关掉终端,重新打开终端即可。
+5. 修改oh-my-Zsh主题、安装Zsh插件(可选)
+
+### **使用Zsh**
+
+- 不区分大小写智能提示,按Tab键进行提示。
+- 按下tab键显示出所有待选项后,再按一次tab键,即进入选择模式,按tab/shift + tab 切向下/上一个选项,ctrl+f/b/n/p 可以向前后左右切换。
+- kill + 空格键 + Tab键,列出运行的进程,要杀哪个进程不需要再知道PID了。
+    - zsh提供了让你知道PID的方法:例如输入kill vim,再按下tab,会变成:kill 5643
+- ls **/*,分层级地列出当前目录下所有文件及目录,并递归目录
+    - ls *.png 查找当前目录下所有 png 文件
+    - ls **/*.png 递归查找
+- zsh的目录跳转很智能,你无需输入cd就可直接输入路径即可。比如:..表示后退一级目录,../../表示后退两级,依次类推。
+- 在命令窗口中输入:d,将列出当前session访问过的所有目录,再按提示的数字即可进入相应目录。
+- 给man命令增加结果高亮显示,可编辑配置文件:vim ~/.zshrc,增加下面内容
+    ```
+    # man context highlight
+    export LESS_TERMCAP_mb=$'\E[01;31m'       # begin blinking
+    export LESS_TERMCAP_md=$'\E[01;38;5;74m'  # begin bold
+    export LESS_TERMCAP_me=$'\E[0m'           # end mode
+    export LESS_TERMCAP_se=$'\E[0m'           # end standout-mode
+    export LESS_TERMCAP_so=$'\E[38;5;246m'    # begin standout-mode - info box
+    export LESS_TERMCAP_ue=$'\E[0m'           # end underline
+    export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline
+    ```
+- 常用插件
+    ```
+    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
+    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
+    vim ~/.zshrc,在 plugins 里面换行,分别添加:zsh-autosuggestions,zsh-syntax-highlighting
+    ```
+
+### **简介Vim**
+
+略
+
+### **安装Vim**
+
+brew install vim
+
+### **使用Vim**
+
+下载配置:curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
+
+
+## 参考链接
+
+- <http://www.youmeek.com/mac-iterm2>
+
+## 结束语
+
+未完待续...