OpenBSD 6.6 发布

OpenBSD 6.6 发布

澳门新葡亰游戏网址 1

在工作中常会遇到程序员用着系统的 terminal 艰难的敲击着 bash shell
的命令。这种原始的方式可能会导致工作效率降低。

主要更新内容:

对于终端的选择,每个人的习惯不一样,无法要求保持一致,但是我觉着,最基础最常用的终端功能的配置,最好还是在团队里推广一下,可以一定程度提高那些用着默认
terminal 的大神们的效率(PS:
听说有些大神使用记事本写代码,这类不在考虑之中)。但是这类配置又比较零散,所以趁着周末写一个我自身常用的
Shell
工作环境的总结吧,本文以MacOS为例,对于Linux系统,在文章最后列举了一些差异。本文适合想要提高一些终端使用效率的同学们。

  • 修复了对物理内存大于 1023GB 的
    AMD64
    计算机的支持

  • drm(4) 更新

  • octeon
    平台现在使用 clang(1) 作为基本系统编译器

  • 除了 aarch64、amd64、armv7、i386、mips64el、parc64
    之外,clang(1) 现在还提供了powerpc
    架构

  • 在 armv7 和 i386 的基础上禁用了 gcc

  • 当在租约中提供 mtu
    时,阻止 dhclient(8) 重复获取新租约

  • 防止多个线程在读/写模式下打开 wscons(4) 设备

  • 允许非 root
    用户在首次打开设备时成为 drm(4) 设备的所有者

  • 在 tmux(1) 中添加了对格式搜索、匹配和替换修饰符的正则表达式支持

  • 在 tmux(1) 的源文件中添加了 -v
    标志,以显示命令和行号

  • 在 tmux(1) 中添加了可与鼠标或键盘一起使用的简单菜单。引入了命令
    “display-menu”,以默认情况下在状态行上显示绑定到鼠标的菜单,并以树、客户端和缓冲区模式添加了菜单

  • 更改了 tmux(1) 中 swap-window -d
    的行为以匹配 swap-pane

  • 在 tmux(1) 中允许窗格为空,并允许使用
    split-window 或 display-message -I 将输出通过管道传递给它们

  • 调整了 tmux(1),使其在拖动时自动滚动,以在光标到达顶行或底行时用鼠标创建选择

  • 修复了杀死当前窗口时的 tmux(1) 崩溃以及其他错误修正

iTerm2

详情查看发布发布公告。

安装及配置

首先需要安装 iTerm2,下载地址:iTerm2
Download,建议下载
Stable Release 版本。

安装完成后,打开 iTerm2 ->
Preferences,就可以根据自己的使用习惯进行一些偏好设置了,由于可配置的选项太多,这里不做一一列举,只对我自己设定的一些选项进行简单的介绍。(注意下载的不同版本的
iTerm2 的默认配置有可能有细微差别)

  1. 对于 General 选项卡,目前还没遇到修改的需求。

  2. 对于 Appearence 选项卡,我改动了 Tabs 的一些设置,如下图:

    澳门新葡亰游戏网址 2

    Appearence.png

    • 将 “Tab bar location” 改为了 Top
    • 将 “Theme” 改为了 Light(可以根据个人习惯进行选择)
  3. 改动较多的就是 Profiles 选项卡了,Profiles
    主要是与显示外观有关的配置,在左侧可以新建多个 profile
    配置,这里我只采用了 Default。

    每个 Profile
    的右边有多个配置选项:General、Colors、Text、Window、Terminal、Session、Keys、Advanced:

    • General:在下方有个 “Working Directory”
      的配置,这个是当你每次打开 shell
      时默认进入的工作目录,可以根据自己的工作习惯进行配置。由于我经常工作在
      home 的 Work 目录中,所以我勾选了 “Directory” 选项,并设置了
      Work 目录。

    • Colors:这个地方需要根据习惯自己调整配置。想想以后常用的 Shell
      的样子就是这里决定的,还是值得花时间去根据自己喜好进行配置。由于我个人使用
      Emacs 作为常用编辑器,而且 emacs 一直在用 Solarized light
      主题,所以我再右下角的 “Color Presets” 里面选择了 “Solarized
      light” 主题。字体、背景颜色都可以在 Solarized light
      的基础上进行微调。

      此外,在 Colors 选项卡中,有个 “Cursor Guide”
      选项,这个选项可以高亮当前光标所在行,更方便的找到光标位置,有需要的可以打开。不过这里有一个快捷键
      “Command+/” 可以直接定位到光标位置,很好用,所以我没有打开
      “Cursor Guide”。

    • Window:可以配置透明度、模糊效果和窗口大小等,看个人感受吧。

    • 其他配置没有修改,所以这里不再列举了。

  4. Keys:绑定的一些快捷键,这里我只添加了一个全局的快捷键 “HotKey ->
    Show/Hide all windows with a system-wide hotkey”,并设置为了
    Command+Control+i。这样在任何应用中,只要触发了该快捷键,iTerm2
    会立即回到第一窗口的位置,再次触发会隐藏 iTerm2。

    此外提一个强烈些的建议:将 MacBook 上的 CapsLock 键位和左下角的
    Control 键互换,互换方法在 “System Preferences -> Keyboard ->
    Keyboard -> Modifier
    Keys”,仍不清楚的上网搜一下。这样替换的好处是:

    • MacOS 上面的基本所有可编辑的地方,Control+f、Control+b
      代表前进、后退一个字符,Control+k
      表示删除当前行光标位置之后的内容,Control+d表示删除前面的字符。

    • 此外,MacOS 系统中绝大部分编辑器中还可以使用
      Control+n、Control+p 来进行上一行下一行移动,例如 Xcode、Sublime
      Text、系统文本编辑器等。当然,如果你使用
      Emacs,相信对这个键位的修改更没有疑问了。

  5. Arrangements:这个暂时没有用到。

  6. Pointer:鼠标和手势的一些操作,对此没有关注,有兴趣可自己看一下。

  7. Advanced:更多的可自定义配置,参数众多,如果你想戒掉王者荣耀,可以尝试将各个参数弄清楚(PS:意义不大,不建议这么干,还是玩王者吧)。

(文/开源中国)    

常用快捷键

iTerms
的有些快捷键不用掌握,因为后面章节会介绍更好用的工具。这里只列举了几个常用操作。

  1. Shift+Command+h —> 用于弹出粘贴历史窗口。

  2. Command+f —> 当前 tab 中搜索

  3. 按住 Command 键时有一些简单的操作:

    • 可以拖拽选中的字符串;
    • 点击 url —> 调用默认浏览器访问该网址;
    • 点击文件 —> 调用默认程序打开文件;如果文件名是
      filename:42,且默认文本编辑器是 Macvim、Textmate 或
      BBEdit,将会直接打开到这一行;
    • 点击文件夹 —> 在 finder 中打开该文件夹;
    • 同时按住 option 键,可以以矩形选中,类似于 vim 中的 ctrl v
      操作。

Oh-my-zsh

oh-my-zsh
绝对是增强 shell
的一个神器,它提供了完整的插件体系,可以根据工作需求选用不同的插件。

安装方法

  1. 通过 wget:

    sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    
  2. 通过 curl:

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    

配置

关于 oh-my-zsh 的配置均在 $home 目录下的 .zshrc
文件中,如需修改配置可使用文本编辑器打开编辑(如 emacs、vim
等),修改完成后重新登录 shell 或者执行 “source ~/.zshrc” 即可生效。

  1. 主题:

    打开 .zshrc 文件后,ZSH_THEME=”robbyrussell”
    这一行就是主题的配置,我采用了默认配置 robbyrussell。

    oh-my-zsh 的主题配置主要是一些提示字符串格式、时间值、权限、git
    版本管理时显示的格式等信息。目前我还不清楚 oh-my-zsh 的主题对 iTerm2
    的显示外观(背景色、字体等)有何影响,因为我换了几个 ZSH_THEME
    后只是提示字符串等信息的变化,没有发现背景色、字体等外观受到影响。如果有知道的,麻烦留个言,也让我学习下。

  2. 插件:

    打开 .zshrc 文件后,plugins=(git) 这一行是 oh-my-zsh
    集成的插件列表,我安装的 oh-my-zsh 版本默认只使用了 git
    插件。我们可以在这个列表中添加 ~/.oh-my-zsh/plugins 目录下 oh-my-zsh
    已经提供的插件。

    关于插件,我使用了 git, zsh-syntax-highlighting, autojump
    插件,.zshrc 文件配置为:

    plugins=(git
             zsh-syntax-highlighting
             autojump)
    
    • git: 有很方便的使用命令行 git 工具的快捷绑定,例如 git checkout
      master 可以直接使用 gco master,关于所有的快捷绑定,可以打开
      ~/.oh-my-zsh/plugins/git/git.plugin.zsh 文件查看所有的
      alias。建议掌握几个最常用的命令快捷绑定:gco/gst/gaa/gcmsg/glgg/gl/gp/gd/gba。

    • zsh-syntax-highlighting:
      该插件可以帮助我们再输入命令时是否有误。例如,我在命令行中只输入
      ‘v’ 字符时,由于 shell 中没有这个命令,所以这个 ‘v’
      字符显示为红色,但是当我再输入 ‘im’ 后,’vim’
      这几个字符就变成了绿色,表示 shell 中有这个命令。该插件并不是
      oh-my-zsh 自带的插件,安装方法见下文的“自定义插件”。

    • autojump: 方便的跳转到某个目录,zsh
      可以记录已经访问过的目录,使用 autojump 可以输入 “j
      想要跳转的目录” 直接进入到目录,autojump 也支持输入 “j”
      后再输入目录关键字符,使用 <tab><tab> 补全目录。

    后续如果有新发现的好用的插件,我也会更新该文档,方便参考。

  3. 自定义插件:

    oh-my-zsh
    包含一个完备的插件体系,不只可以使用默认已打包的插件,也可以使用自定义插件:我们以
    zsh-syntax-highlighting 插件为例简述一下如何为 oh-my-zsh
    添加自定义的插件。

    • 下载
      zsh-syntax-highlighting
      并解压。
    • 将文件夹所有内容拷贝到
      ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting 里面。
    • 最后配置 ~/.zshrc 文件的 plugins=(git zsh-syntax-highlighting)

    其他从网络上下载的插件使用方法与 zsh-syntax-highlighting
    类似,当然有能力也可以自己写插件。

  4. 关于 powerline

    相信很多人都看到过别人的 Shell 有如下图这种样式:

    澳门新葡亰游戏网址 3

    powerline.png

    powerline 其实是一种增强提示信息的展现方式,可以在 vim、emacs、shell
    等多个场景下使用,之前也用过 powerline,但经过长期使用后,觉着
    powerline 在 shell
    中的优点并不明显,所以目前我已经弃用了。如果有兴趣,可按照:iTerm2
    Oh-my-zsh 配置与 agnoster
    主题配置
    一文中的方法进行配置。

    有一点需要注意,在之前的印象中,如果需要使用 powerline,iTerm2
    的背景色不能有透明度,记得是因为 powerline
    的三角不支持透明。有兴趣的可以验证下,并留个言告诉我的记忆是否正确。

  5. 一些常用的快捷键:

    • “d” 目录浏览和跳转:输入
      d,就显示在会话里访问的目录列表,输入列表前的序号,即可以跳转,如下图:

    澳门新葡亰游戏网址 4

    d.png

    • 在 ~/.zshrc 最后一行加入:

      alias lm="ls -al"
      alias rm='trash'
      alias cl='clear'
      

      lm 是为了显示当前目录所有文件(包含隐藏文件),rm 关联到 trash
      是为了防止不小心使用了 “rm -rf xxx”, cl 是清屏操作。

    • 常用快捷键会随着我的使用体验进行更新。

MacVim

安装

使用 Homebrew 进行安装:$ brew install MacVim

其实 MacOS 系统是自带 Vim
编辑器的,但是由于系统自带一般版本较低,所以这里安装一个 MacVim,其也有
GUI 可以用。

配置

澳门新葡亰游戏网址,我日常使用的编辑器是 Emacs,遗憾的是 Emacs 其实并不如 Vim
那么的适合在终端使用,Vim 可以说是跟 Shell 联系最紧密的编辑器,所以掌握
Vim 的一些基础操作还是必须的。

由于现在我从事 iOS 开发工作,使用 Shell
的只是处理一些日常工作,并不会使用其进行代码编写。所以掌握 Vim
的一些基础操作就足够了。这一部分 Vim 党请略过,不过我相信 Vim
党也基本都已经有自己的完整的 shell 配置。

这里推荐 github 上一个 star 比较多的 vim
配置:k-vim。
安装过程在 github 中有详细文档,这里就不再赘述。我对 k-vim
的某些默认配置进行了修改:

  • $home/.vimrc 中的 “set background=dark”,我改成了 light(因为我的
    iTerm 配置的 light 主题)。

  • 231 行到 244 行与 relativenumber
    有关的都被我注释掉了,因为我不太习惯相对行号。

此外,在 Shell 中使用 MacVim 要使用 “mvim -v” 命令,为了方便在 Shell
中使用 MacVim,在 ~/.zshrc 最后为 “mvim -v” 命令添加一个别名:

alias vim="mvim -v"
网站地图xml地图