neovim + tmux + fish Set up your workflow

1,114 阅读3分钟

neovim + tmux + fish Set up your workflow

零、本文介绍

  • 阅读本文可以获得
    • 使用neovim + tmux 构建属于你自己的workflow
  • 阅读本文需知
    • 本文根据Youtube博主-devaslife的学习心得,欢迎关注devaslife
    • 建议稍微有些vim基础的同学观看。
    • 本人是mac系统,建议使用mac来作为学习工具,windows都话可能需要自己研究一下。

一、neovim

1. 介绍

  • neovim是一个开源的增强nvim的终端shell。neovim
  • 它支持你随意配置,使其变成属于自己的编辑器。
  • nvim/plugin是增强neovim能力的必要。

2. 安装

  • 首先在电脑中,安装HomeBrew。HomeBrew
$ brew install neovim  # 安装

$ nvim --version # 输出版本号,安装成功

$ nvim # 开启neovim模式

$ esc :q # 按下esc 输入:q退出neovim

3. 配置neovim

  • 此处直接使用devaslif博主的配置。我将其简化并上传到自己的Github。workFlow配置

3.1 在配置之前要做的事情

  • 安装Packer,为后续安装插件做准备
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim

3.2 配置neovim

  1. 下载配置文件
$ cd ~/Desktop && git clone https://github.com/codehzy/workflow.git
$ mv ~/Desktop/workflow/nvim ~/.config/
  1. Packer安装插件
$ nvim
$ :PackerInstall # 此步骤必须在可访问github的环境下


$ :PackerSync  # 如果想更新插件并对比远程开发者最新版本请使用此命令
  • 友情提示: 安装插件后打开的你的具体文件可能会报错,请根据报错使用brewnpm安装对应报错的依赖到全局
  1. 使用neovim
  • 同步上述几步,你就可以很愉快的打开neovim了,上述配置适合前端开发者

  • 了解快捷键:

    • 通过查看刚下载的配置文件可以查看
      • nvim ~/.config/nvim/lua/plugin/craftzdog/maps.lua 查看对应快捷键
      • nvim ~/.config/nvim/lua/plugin/craftzdog/plugins.lua 查看使用的插件
    • 新增插件
      • nvim ~/.config/nvim/lua/plugin/craftzdog/plugins.lua 新增对应的nvim插件
      • nvim ~/.config/nvim/after/plugin/xxxx.rc.lua 新增对应插件的配置,具体代码可以参考该插件README
  • 在我看来只需要了解这两个文件即可,其他的都是基础配置。

    • 对配置文件做一些解释
      • C代表 ctrl
      • 前缀键 Ctrl+t
      • 按下前缀见,再根据配置中的按键进行学习。

4. 安装fish

  • 这是一个终端可以自动补全的shell插件
$ brew install fish
  • 个人觉得配置不需要单独配置就很好用
$ fish # 启动fish

5. 安装 tmux

5.0 配置tmux

$ cd
$ mv ~/Desktop/workflow/.tmux .
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local ~

5.1 终端动画

  • 安装
$ brew install asciiquarium
  • 操作

q-退出动画 p-暂停动画 r-重置动画

5.2 会话相关

5.2.1 新建会话

第一个启动的Tmux窗口,编号是0,第二个窗口启动的编号是1。使用编号区分会话不太直观,建议给会话起名字

$ tmux new -s <session-name>

5.2.2 分离会话

在tmux窗口中,按下Ctrl+b或者输入tmux detach命令,就会将当前会话与窗口分离

$ tmux detach
  • 上面命令执行后,就会退出当前Tmux窗口,但是会话和里面的进程仍然在后台运行
  • tmux ls命令可以查看当前所有的Tmux会话
$ tmux ls
# or
$ tmux list-session

5.2.3 接入会话

tmux attach命令用于重现接入某个已存在的会话

# 使用会话编号
$ tmux attach -t -

# 使用会话名称
$ tmux attach -t <session-name>

5.2.4 杀死会话

tmux kill-session命令用户杀死某个会话

# 使用会话编号
$ tmux kill-session -t 0

# 使用会话名称
$ tmux kill-session -t <session-name>

5.2.5 重命名会话

tmux rename-session命令用于重命名会话

tmux rename-session -t <now-time> <new-name>

5.2.6 会话快捷键

$ Ctrl + b d: 分离当前会话
$ Ctrl + b s: 列出所有会话
$ Ctrl + b $: 重命名当前会话

5.3 窗口相关

窗口组成的是会话,当会话建立以后会默认生成一个会话。多个窗口组成了一个会话。我们通常可以在某个会话中做着类似的工作,不同类型的工作通过会话来隔离。这个因人而异。

5.3.1 创建新窗口

tmux select-window命令用来切换窗口,也可以用按下前置快捷键Ctrl + b,然后按数字键切换。

# 切换到指定编号的窗口
$ tmux select-window -t <window.number>

# 切换到指定名称的窗口
$ tmux select-window -t <window-name>

5.3.2 重命名窗口

tmux rename-window命令用于为当前窗口起名(或重命名),也可以按下前置快捷键Ctrl + b,然后按r

$ tmux rename-window <new-name>

5.3.3 窗口快捷键

$ Ctrl + b c: 创建一个新窗口,状态栏会显示多个窗口的信息
$ Ctrl + b w: 从列表中选择窗口。(强烈推荐: 他可以跨session选择所有window)
$ Ctrl + b ,: 窗口重命名
$ Ctrl + b <number>: 切换到指定的编号的窗口,其中的`<number>`是状态栏上的窗口编号。

5.4 窗格相关

一个window可以切个为多个pane,也就是所谓的分屏,算是Tmux的核心功能之一。

5.4.1 划分窗格

tmux split-window命令用来划分窗格

# 划分上下两个窗格,快捷键 Ctrl + b "
$ tmux split-window

# 划分上下两个窗格,快捷键 Ctrl + b %
$ tmux split-window -h

5.4.2 移动光标

tmux select-pane命令用来移动光标位置,也可以按前置快捷键Ctrl + b,然后按方向键切换

# 光标切换到上方窗格
$ tmux select-pane -U

# 光标切换到下方窗格
$ tmux select-pane

# 光标切换到左边窗格
$ tmux select-pane -L

# 光标切换到右边窗格
$ tmux select-pane -R

5.4.3 交换窗格位置

tmux swap-pane命令来交换窗格位置

# 当前窗格上移
$ tmux swap-pane -U

# 当前窗格下移
$ tmux swap-pane -D

5.4.4 窗格快捷键

下面是一些窗格操作的快捷键,窗格相关的快捷键比较多,毕竟是我们的主要工作区,但是实际用的非常频繁的并不多

Ctrl + b % :划分左右两个窗格

Ctrl + b " :划分上下两个窗格

Ctrl + b <arrow key>:光标切换到其他窗格。是指向要切换到的窗格的方向键,比如切换下方窗格,就按方向键下。注意:此操作Ctrl + b 要按住。

Ctrl + b x :关闭当前窗格

Ctrl + b ; :光标切换到上一个窗格

Ctrl + b o :光标切换到下一个窗格

Ctrl + b { :当前窗格与上一个窗格交换位置

Ctrl + b } :当前窗格与下一个窗格交换位置

Ctrl + b Alt + o :所有窗格向前移动一个位置,第一个窗格变成最后一个窗格

Ctrl + b Alt + 0 :所有窗格向后移动一个位置,最后一个窗格变成第一个窗格

Ctrl + b ! :将当前窗格拆分为一个独立窗口

Ctrl + b z :当前窗格全屏显示,再使用一次会变回原来带下

Ctrl + b q :显示窗格编号

5.4.5 Mac安装Tmux

$ brew install tmux

前缀键

Tmux窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认前缀键是Ctrl + b,即先按下Ctrl + b,快捷键才会生效。

举例来说,帮助命令的快捷键是Ctrl + b。它的用法是,在tmux窗口中,先按下Ctrl + b,再按下 ?,就会显示帮助信息。

7. 公众号早间前端