tmux和vim学习

注意
本文最后更新于 2024-12-19,文中内容可能已过时。

先按ctrl+b进入命令模式,然后执行下面的命令

快捷键 作用
c 新建窗口
shift+7 关闭窗口
0, 1, 2, 3 切换到第0,12,3个窗口
p 上一个窗口
n 下一个窗口
shift+5(百分号) 创建panel,左右分屏
shift+「(分号,回车左边那个) 上下分屏
方向键 切换panel
z 小窗口最大化/恢复原状
x 关闭小窗口
w 查看所有窗口
d 保留工作空间,退出tmux。使用tmux a重新进入
tmux ls 查看所有工作空间
tmux attach -t 1 进入到第一个工作空间

保存历史记录 输入指令:capture-pane -S --,再次输入指令save-buffer /path/to/filename.txt 来源 Write all tmux scrollback to a file

快捷键 作用
跳到行尾
shift+i 跳到行头,并进入插入模式
搜索,搜索下一个
v 选中
shift + v 选中当前行
shift + } / { 跳到下/上一个空行
c i w 删除当前单词并进入插入模式
shift + c 删除到行尾并进入插入模式
cc 删除当前行并进入插入模式
c i 括号 删除括号里的内容
动词 + 介词 + 宾语:
  • 动词:c / d / y / v
  • 介词:i / a
  • 宾语:b / B / [ / { / t / p / w / (

可以在命令行中使用的通用快捷键 ctrl+u 删除当前行 ctrl+w 删除当前单词 ctrl+l 清屏

x 在命令模式下删除光标所在的字符。 J 删除当前行的换行符,也就是说下一行会合并到当前行。 u 撤销。 crtl+r 反撤销。

w 向后移动一个词,到词首。b 向前移动一个词的词首。 e 向后移动到一个词的词末尾。ge是向前移动到一个词的末尾。 以上两个会跨行操作,即到末尾时会自动到下一行。 “$” 命令把光标移动到当前行行尾。"^" 命令把光标移动到一行的第一个非空字符,而 “0” 命令 (零) 则移到一行的第一个字符。 2$ 移动到下一行的行尾。

fw 命令向右查找本行中的字符 w。 3fw,跳转到第三个w出现的位置。Fw向左查找。 “tx"把光标向右移动到目标字符的前一个字符上。Tx同理。 这四个命令可以通过 “;” 命令重复,”," 命令则用于反向重复。无论用哪个命令,光标 永远都不会移出当前行,哪怕这两行是连续的一个句子。

“%” 匹配另一个括号。 CTRL-G 命令,显示当前所在的位置。

组合键 含义
z c 折叠所在的块
z o 展开所在的块
z R
z m
ctrl+w+ o 将所有分屏合并为一个。
ctrl+w+h/j/k/l 将当前窗口移动到上下左右的位置
:tabo 关闭其他窗口
:sp 水平分屏
:vs 垂直分屏
## 在整个项目内搜索符号
@ 在当前文件内搜索符号
gd 跳到函数定义的地方
gh
gi 跳转到实现的地方
gf
K 显示定义
:jumps 跳转到鼠标曾经在的地方
zt 将光标所在的位置显示在屏幕的上方
zz 将光标所在的位置显示在屏幕的中间
zb 将光标所在的位置显示在屏幕的下方
V % 选中整个函数(首先选中当前行,再去寻找括号匹配的地方)换行的如何解决
crtl+o ctrl+i 回到上一个光标
选中后 gc 批量注释
选中后 x 批量删除