tmux
作用
-
分屏
-
允许断开Terminal连接后继续运行进程
结构
一个tmux可以开一堆session
tmux: session 1, session 2, session 3 …
Session: window 1, window 2, window 3…
Window: pane 1, pane 2, pane 3…
pane是最小单位,用shell语言编程
操作
- 输入tmux就打开一个session,session里包含一个window,window里有一个pane,pane里打开了一个shell对话框
- tmux a可以看目前有多少session
- 按下ctrl+a,然后按%,当前pane分成左右两个pane
- 按下ctrl+a,然后按“,当前pane分成上下两个pane
- ctrl+d关闭当前pane
- 选择pane:鼠标点击或者按ctrl+a洁癖然后按方向键,选择相邻的pane
- 调整分割线的位置:鼠标移动;按住ctrla同时按方向键
- 全屏或取消全屏:按住ctrl+a后按z
- 挂起session(detached):ctrla+d,从tmux退出,但是不关窗口
- tmux attach打开挂起的session
- 打开其他的session:ctrl + a后按a,选择其他的session,上下选session,左右箭头展开合上
- 打开其他的window:ctrl+a后按s(只有session一级),ctrl+a后按w,可以打开窗口这一极
- 翻阅:鼠标滚轮 或 ctrla+pageup
- 在tmux中选中文本时,需要按住shift键
vim
功能
- vim是命令行模式下的文本编辑器
- 根据文件扩展名自动判别编程语言,支持代码缩进、代码高亮
- 使用方式:vim filename; 如果已有该文件,打开;如果没有,则打开一个新文件,并命名为filename
模式
- 一般命令模式(默认模式),:q退出
- 编辑模式(进入按i,退出按esc)
- 命令行模式(按下:/?的任意一个,会进入命令行模式,命令行在最下面,可以查找、替换、保存)
操作
- i进入编辑模式
- esc:进入一般命令模式
- h或左箭头:光标向左移动一个字符
- j或下箭头:光标向下移动一个字符
- k或上箭头:光标向上移动一个字符
- l或向右箭头:光标向右移动一个字符
- n< space >:向右移动n个字符
- 0或home:移动到本行开头
- ¥或end:移动到本行结尾
- G:移动到最后一行
- :n或nG:移动到第n行
- gg:移动到第一行
- n < enter >:向下移动n行
- (命令行模式)/word:找光标之下第一个值为word的字符串
- (命令行模式)?word:找光标之上第一个值为word的字符串
- n:重复前一个查找操作
- N:反向重复前一个查找操作
- 替换::n1, n2s/word1/word2/g 在第n1和n2行之间的word1替换成word2
- 替换::n1, n2s/word1/word2/gc 要求用户确认
- :noh 取消高亮 或者按两下esc
- v:选中文本
- d:删除选中的文本
- dd:删除当前行
- y:复制选中的文本
- yy:复制当前行
- p:将复制的数据在光标的下一个行粘贴
- u:撤销
- ctrl+r:取消撤销
- shift + >:选中的文本整体向右移动
- shift + <:选中的文本整体向左移动
- :w :保存
- :w!:强制保存
- :wq:保存并退出
- :set paste:设置成粘贴模式
- :set no paste
- :set nonu 隐藏行号
- :set nu 显示行号
- gg=G 将全文代码格式化
- :noh 关闭查找关键词高亮
- ctrl+q:当vim卡死时,取消当前正在执行的命令