我是如何配置我的开发环境

date
Apr 24, 2023
slug
config-my-dev-env
status
Published
tags
编程开发
summary
我的一些开发环境配置
type
Post
本人用的电脑是mac,以下所有的环境搭建都是基于mac来配置。

Terminal(Iterm2)

mac原生的terminal可玩性不高,故改用Iterm2
官网下载iterm2安装后,进行如下配置:

Status bar

首先在默认的profile中配置开启status bar。位置:settings>Profiles>Default>session
勾选开启
status bar enabled
,并配置你想要的status bar功能。
notion image
notion image
调整status bar的出现位置为iterm2的底部
notion image
效果如下:
notion image

主题

为iterm2选择一个主题。官方提供了非常多的内置主题,在settings>Profiles>Default>Color Presets
notion image
也可以选择第三方的主体,我使用了一个叫hardhacker的主题。参考文档安装即可。

触发器

为了让terminal界面有更丰富的配色,对于一些特殊的字符能有明显的颜色提醒,我还配置了触发器。
例如针对打印日志时,出现error的日志,用红色标明整行。对于info日志,用绿色提示关键字等等。效果如下:
notion image
 
配置方法,在settings>Profiles>Default>Advanced处,编辑Triggers。
notion image
 
notion image

配置不同的Profile

之前的配置都是在默认的(Default)的Profile下进行的,但是有时我们会需要有不同的Profile来实现不同的需求。我这里的场景如下:
  1. 新开一个terminal后自动登录服务器(例如跳板机)
  1. 登录服务器后,自动登录数据库

自动登录服务器

场景一:采用公钥免密登录

需要先将ssh的公钥配置到目标服务器(假设为10.0.0.1,用户名为root),terminal验证下:
成功免密登录即可配置iterm2。
notion image
 
接下来即可在iterm2中快速使用这个profile,且会自动登录目标服务器。
notion image

场景二:采用私钥登录

如果目标服务器需要使用指定私钥(假设存放在本地的/root/cert/private.pem)来登录,则对应的iterm2配置如下:
notion image

场景三:采用密码登录

如果目标服务器需要使用指定的密码登录(假设密码为abcd123,用户为root),但是ssh不支持显示的密码指令,我们可以使用触发器来实现自动填入ssh密码。
notion image
 
注意触发器配置密码的时候,需要加上\\r,是回车的意思,这样ssh就会自动输入密码且完成回车确认。另外这里记得勾上触发器的instant。
然后同理在iterm2参考场景一配置Command即可。
notion image

登录服务器后自动登录数据库

假设我们希望登录服务器后,自动登录mysql数据库(例如数据库地址为192.168.10.1,用户名为demo,密码为abcDemo,端口为3306),这样我们不需要每次自己登录服务器后还要人工去登录。

场景一:直接登录数据库的方式

notion image

场景二:需要进入另一台服务器再登录数据库

notion image
 
这里需要注意两点:
  1. ssh后面需要跟上-t
  1. 如果数据库的密码包含!,则需要用反斜杠转义后用双引号包裹

    小结

    iterm2的可玩性还是挺高的,例如在使用了主题后,对部分颜色不满意还可以自行调整。也可以给terminal配置背景图片,调整透明程度等等,自己根据喜好调整即可。后面自己有新的玩法时,再继续补充该文。

    shell(zsh)

    我采用的shell为zsh,mac已经默认为用户装了该shell,我们可以通过以下命令确认是否安装了zsh,并将其设置为默认的shell。

    oh my zsh

    oh my zsh是一款开源的用于管理zsh配置的框架,通过它我们可以实现很多非常便利的zsh扩展功能。安装方式参考官方文档即可。

    主题

    我们依旧可以zsh选择一套主题,oy my zsh社区有非常丰富的内置主题。同样的,我们也可以选择其他第三方主题,这里我选择的是spaceship,它可以为zsh定制个性化的提示符,让我们的terminal展示的信息更加丰富。
    spaceship安装方式很简单:
    修改将~/.zshrc文件的主题配置项,ZSH_THEME="spaceship"
    在这里,我根据我的个人需求,修改了spaceship的默认配置,在~/.config/spaceship/spaceship.zsh中增加如下配置:
    看下最终效果:
    notion image

    插件

    oy my zsh社区为zsh提供了非常丰富的插件,可以参考社区插件文档,我选择安装了如下插件:
    1. git:为git提供了许多别名功能,例如gst=git status
    1. zsh-autosuggestions:它会在你打字时根据历史记录和完成情况建议命令。
    1. autojump:用于快速跳转进历史中曾cd进去过的目录,不需要输入该目录的详细路径。
    1. golang:为go提供了许多别名功能,例如gob=go build
    1. gitignore:可以用于生成gitignore文件。
    1. zsh-syntax-highlighting:可以高亮terminal中的shell关键字。

    总结

    以上就是我对我的开发机做的基本的配置,后面想到其他的配置时再继续补充。