什么是tmux
tmux是一个终端复用器(Terminal multiplexer),是一种常用的开发工具
功能:
(1)分屏
(2) 允许断开Terminal连接后,继续运行进程
结构:
一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。
操作:
(1) tmux:新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框。
(2) 按下 ctrl + a 后手指松开,然后按 % ,可以将当前pane左右平分成两个pane
(3) 按下ctrl + a 后松开,按 “ ,将当前pane上下平分成两个pane
(4) ctrl + d : 关闭当前pane:如果当前window的所有pane均已关闭,则自动关闭window;如果当前session的所有window均已关闭,则自动关闭session。
(5) 按下ctrl + a 后松开,然后按方向键 : 可以选择相邻的pane
(6) 按下 ctrl + a 后松开,然后按 z ,可以将当前pane 全屏/取消全屏
(7) 按下 ctrl + a 后松开,然后按 d ,挂起当前session
(8) tmux a :打开之前挂起的session
(9) 按下 ctrl + a 后松开,然后按 s ,可以选择其他session
(10)按下 ctrl + a 后松开,然后按 c ,在当前session中创建一个新的window
(11) 按下 ctrl + a 后松开,然后按pageup/down,翻阅当前pane内的内容
(12) 在tmux中选中文本时,需要按住shift键
(13) tmux中复制/粘贴文本的通用方式:
(1) 按下 ctrl + a 后松开,然后按 [
(2) 用鼠标选中文本,被选中的文本会被复制到tmux的剪贴板
(3) 按下 ctrl + a 后松开,然后按 ] ,会将剪贴板中的内容粘贴到光标处
关于Vim
功能:
(1) 命令行模式下的文本编辑器
(2) 根据文件扩展名自动判别编程语言,支持代码缩进、代码高亮等功能
(3) 使用方式:vim filename
如果已有该文件,则打开,反之则会创建一个新的文件,并命名为filename
模式:
(1) 一般命令模式
默认模式 --- 命令输入方式:可以复制、粘贴、删除文本等
(2) 编辑模式
在一般命令模式里按下i (insert) ---区分大小写,会进入编辑模式
(3) 命令行模式
在一般命令模式里按下:/ ? 三个字母中的任意一个,会进入命令行模式。命令行在最下面。
操作:
(1) i:进入编辑模式
(2) esc:进入一般命令模式
(3) h/j/k/l:向左、下、上、右移动一个字符
(4) n <space> :n表数字,按下数字后再按空格,光标会向右移动这一行的n个字符
(5) 0 / home键、$/end键 :光标移动到本行开头、光标移动到本行末尾
(6) G:光标移动到最后一行
(7) :n / nG :n为数字,光标移动到第n行
(8) gg :光标移动到第一行
(9) n<enter>:n为数字,光标向下移动n行
(10) /word :向光标之下寻找第一个值为word的字符串
(11) ?word : 像光标之上寻找第一个值为word的字符串
(12) n:重复前一个查找操作
(13) N:反向重复前一个查找操作
(14) :n1,n2s/word1/word2/g :n1,n2为数字,在第n1行到n2行之间寻找word1,并将该字符串替换为word2
(15) :1,$s/word1/word2/g:将全文的word1替换为word2
(16) :1,$s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认
(17) v/d/dd/y/yy:选中文本/删除选中文本/删除当前行/复制选中文本/复制当前行
(18) p:将复制的数据在光标的下一行/下一个位置粘贴
(19) u/ ctrl+r :撤销/ 取消撤销
(20) > / < :将选中的文本整体向右/左缩进一次
(21) :w / :w! / :q / :q! / :wq :保存/强制保存/退出/强制退出/保存并退出
(22) :set paste/nopaste 设置/取消粘贴模式,取消/开启代码自动缩进
(23) :set nu/nonu :显示行号/隐藏行号
(24) gg=G:将全文代码格式化
(25) :noh :取消查找关键词高亮(highlight)
(26) ctrl + q : 当vim卡死时,可以取消当前正在执行的命令
异常处理:
每次用vim编辑文件时,会自动创建一个 .filename.swp的临时文件
如果打开某个文件时,存在文件的swp文件,则会报错。有两种解决办法:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件