vim和tmux

tmux 和 vim

tmux

tmux 优势

  • 不需要本地编译器,只需要终端编译器
  • 不用担心断网,自动恢复现场
  • 分屏

结构:tmux 允许有多个 session,一个 session 允许有多个 window,一个 window 允许有多个 pane

修饰键:ctrl a

通常修饰键的使用规则是,按下并释放后,再按其它键,而不是同时按下。

键盘操作

操作 快捷键 说明
新建 session tmux 在终端中输入,不能在 tmux 中嵌套
左右分屏 修饰键 % 把当前 pane 拆分成左右两部分
上下分屏 修饰键 " 把当前 pane 拆分成上下两部分
关闭当前 pane ctrl d 如果没有 pane,则关闭 window;如果没有 window,则关闭 session
选择相邻 pane 修饰键 方向键 选择界面汇中相邻的 pane
调整分割线 修饰键 方向键(同时按下) 调整 pane 分割线位置
全屏 修饰键 z 将当前 pane 全屏/取消全屏
挂起 session 修饰键 d 将当前 session 移至后台
恢复 session tmux a 打开挂起的 session
选择 session 修饰键 s 在此模式下,上下方向键选择 session,左右方向键展开和闭合当前项
新建 window 修饰键 c 在当前 session 新建 window
选择 window 修饰键 w 与选择 session 的界面一样,只是所有 session 只展开到 window 层次
翻页 修饰键 PageUpPageDown 当前 pane 向上/向下翻页
复制 修饰键 [ 需提前选中文字
粘贴 修饰键 ] 粘贴到当前光标处

鼠标操作

  • 鼠标可选中要使用的 pane
  • 鼠标可移动 pane 分割线
  • 鼠标滚轮可翻阅当前 pane
  • 需要按住shift才能选中文本

关闭 window

  • 在非tmux终端输入tmux ls查看当前开启的 window 及其id
  • 用命令tmux kill-window -t id关闭编号为id的窗口

vim

不使用鼠标的编辑器

三种模式

  • 一般命令模式:按不同键执行不同的功能
  • 编辑模式:类似文本编辑器
  • 命令行模式:按:/?任意一个即可进入,用于实现查找、替换、保存、退出

一般命令模式的操作

操作 快捷键 备注
进入编辑模式 i
退出当前模式 <ESC>
移动光标 h j k l 左下上右
光标右移 n 个字符 n<space>
光标下移 n 行 n<enter>
跳到行首 0^ 0跳转到当前行的第一个非空字符;^跳转到当前行的第一个字符
跳到行尾 $ 跳转到当前行的最后一个字符
跳到最后一行 G
跳到第n :nnG
跳到第一行 gg 等价于1G
向下查找 word /word
向上查找 word ?word
重复执行上一个查找操作 n
反向重复执行上一个查找操作 N
指定行范围替换 :n1,n2s/word1/word2/g 在$n_1$行和$n_2$行之间查找字符串 word1,并全部替换成 word2
无确认全文替换 :1,$s/word1/word2/g 把全文中的 word1 全部替换很 word2,无需确认
有确认全文替换 :1,$s/word1/word2/gc 把全文中的 word1 全部替换很 word2,需确认
进入字符选择模式 v
删除当前字符 d
删除当前行 dd
复制 y
复制当前行 yy
粘贴 p
撤销 u
重做 ctrl r 取消撤销
文本缩进 < > 分别对应左右缩进,需要提前选中文本
保存 :w
强制保存 :w!
退出 :q
强制退出 :q!
保存并退出 :wq
无缩进粘贴模式 :set paste
有缩进粘贴模式 :set nopaste
显示行号 nu
隐藏行号 nonu
全文代码格式化 gg=G
关闭查找高亮 :noh
中断当前命令 ctrl q

当无法打开某个文件时

  • 关闭打开该文件的进程
  • 删除该文件对应的 swp 文件