2 tmux和vim

2.1 tmux

tmux优势

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

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

修饰键:`ctrl b

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

键盘操作

操作 快捷键 说明
新建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的窗口

2.2 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文件