目录
基础知识
目录
基本指令
tmux+vim
tmux
vim
基础知识
目录
绝对路径:从根目录(/)开始描述
相对路径:从当前位置开始描述的路径
. 当前目录
.. 上一级目录
~/ 家目录
基本指令
ctrl c 取消命令,并且换行
ctrl u 清空本行命令
tab 补全命令,如果补全不了,按两下,给出提示
↑ 给出之前输入的命令
ls 展出列表(蓝色文件夹 白色普通文件 绿色可执行文件)
- -l 文件的读写执行信息,大小信息,修改时间
- -lh 大小信息读写更加人性化(K,M等)
- . 开头的文件是隐藏文件
- mv .a.txt a.txt 将隐藏文件变成非隐藏文件
- -a 显示所有文件
- -A 不显示当前目录和上层目录
- pwd 显示当前文件目录
- cd 切换到某个目录下
- cd .. 切换到上一级目录
- cd - 切换到上一次待过的目录
- cp xxx yyy 将xxx文件复制到yyy,也可以重命名
- cp = 复制+粘贴+重命名
- cp xxx yyy -r 将xxx文件夹复制到yyy文件夹下,-r是递归处理
- mv 同cp,相当于剪切,同样可以重命名
- 文件名有空格 转移字符(/)+空格
- mkdir xxx:创建目录
- mkdir a/b/c -p:创建多级目录
- history 指令输入的历史
- rm xxx 删除文件
- rm xxx -r 删除文件夹(-r递归删除,-f删除受保护的文件)
- rm * -rf 删除该目录下所有文件,包括受保护的文件
- touch xxx 创建文件
- cat xxx 查看文件内容
tmux+vim
tmux
tmux的功能:
- 分屏,从而"实现两个黑框可以互抄"
- 在断开连接(关掉黑框,断网等)之后,继续运行(挂在云端去运行)
tmux可以开启很多session,每个session可以开启很多window,每个window可以开启多个pane,每个pane可以开启一个shell (正常1session1window多pane就够用了)
常见指令:
- tmux:开启一个session(session-window-pane)
- 开启一个新的pane:ctrl+a松开,shift+5(%) 左右各一个pane
- 关闭一个pane ctrl+d
- 开启一个新的pane(上下分成两个部分) ctrl+a松开,shift+'(")
- 鼠标可以选择 pane
- ctrl+a松开,再移动方向键可以选择需要的pane
- 鼠标拖动pane之间的分割线,可以调整分割线的位置
- 按住ctrl+a,移动方向键来调整分割线的位置
- ctrl+a松开,按z 可以使当前pane全屏或者取消分屏
- ctrl+a松开,按d 挂起当前session
- tmux a 打开之前挂起的session
- ctrl+a松开,按s 选择其它session
- ↑ 选择上一项
- ↓ 选择下一项
- → 展开当前项
- ← 闭合当前项
- ctrl+a松开,按c 在当前session中创建一个新的window(为了更清楚,常常1session对于1window)
- ctrl+a松开,按w 选其它window
- ctrl+a松开,按pageUp 翻阅当前pane内的内容
- 鼠标滚轮 翻阅当前pane内的内容
- 在tmux中选中文本时,需要按住shift
vim
vim的功能:
- 命令行模式下的文本编辑器
- 根据文本扩展名自动判别编程语言,支持代码缩进,代码高亮等功能
- 使用方式 vim filename 如果已有该文件,则打开它;否则打开一个新的文件,并命令位filename
vim的三种模式:
- 一般命令模式:输入命令,支持复制(y)粘贴(p)删除(d)等操作
- 编辑模式
- 输入i:进入编辑模式(insert)
- 退出编辑模式:Esc键
- 命令行模式:
- 按下:/?三个字母的任意一个就会进入命令行模式(命令行在下面)
- 命令行模式可以进行查找(/),替换(:),保存(w),退出(q),配置编辑器等
- 退出:wq保存+退出
- 如何判断在哪个模式下,可以在编辑框中输入,那就是在编辑模式,如果可以在下方输入,那就是在命令行模式;如果两个地方都不能输入,那就是在一般命令模式
常见指令:
- 以下都是在一般命令模式下:
- h:左,l:右,j:下,k:上
- n
:n表示数字,按下数字后再按空格,光标会向右移动这一行的n个字符 - n
:下标往下移n行 - 0或home键,光标回到本行开头
- $光标移到本行结尾
- G光标移到最后一行
- nG或者:n 移到第n行
- gg 到第一行
- v选中文本:配合移动光标的指令使用(n
,0,$,nG,gg,G) - 按两下Esc取消选中
- d 剪切选中的文本
- dd 剪切当前行
- y 复制选中的文本
- yy 复制当前行
- p 将复制的数据在光标的下一个位置粘贴
- u 撤销
- ctrl+r 取消撤销
- shift+> 将选中的文本整体向右移动
- shift+< 将选中的文本整体向左移动
- gg=G 将全文代码格式化
- ggdG 删除全文
- ctrl+q 当vim卡死时,可以取消当前正在执行的命令
- 以下都是在命令行模式下
- /str 从下查找第一个字符串
- ?str 从上查找第一个字符串
- n 重复前一个查找操作 N反向重复前一个查找操作(一般命令模式,配合查找)
- :n1,n2s/str1/str2/g:n1,n2使数字,在第n1行和第n2行之间查找str1,并将其替换成str2
- :1,$s/str1/str2/g:将全文的str1替换成str2
- :1,$s/str1/str2/gc:将全文的str1替换成str2,且在替换前要求用户确认(每一个)
- :w 保存
- :w! 强制保存
- :q 退出
- :q! 强制退出
- :wq 保存并退出
- :set paste 设置成粘贴模式,取消代码自动缩进(防止多重缩进)
- :set nopaste 取消粘贴模式,开启代码自动缩进
- :set nu 显示行号(number)
- :set nonu 隐藏行号
- :noh 关闭查找关键字高亮
- 编辑模式下,
- 粘贴shift+fn+insert
- 复制ctrl+fn+insert
- (系统的剪切板)
- d y p vim内部的剪切板
异常处理:
- 每次用vim编辑文本时,会自动创建一个.filename.swp的临时文件.如果打开某个文件时,该文件的swp文件已存在,则会报错(读写冲突).此时解决方法有两种:
- 找到正在打开该文件的程序,并退出
- 直接删除该swp文件即可



