记录以下最近使用Tmux的一些设置和Vim的一些小技巧
tmux
tmux是类UNIX操作系统里面一款终端工具,常用来作为终端分屏或者挂起后台进程等
创建一个Session
我们可以使用tmux new session -s mysessionName
来创建一个Session,我在我的环境变量里将其设置了一个aliasalias tnew="tmux new session -s"
,这样子就可以直接使用tnew mysession
直接创建一个新的session,不用敲那么多命令
挂起当前Session
挂起当前的这个session可以使用组合键Ctrl+b D
(默认Control键加b然后按大写d)
创建一个分屏
- 使用组合键
Ctrl+b "
用来创建一个Horizontal的pane - 使用组合键
Ctrl+b %
用来创建一个Vertical的pane
使用hjkl在不同的pane之间来回切换
这边我们需要修改以下tmux的配置文件 ~/.tmux.conf
,这样子我们可以使用组合键Ctrl+b hjkl
来回切换
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
使用hjkl对pane进行resize
在tmux的配置文件中加入以下配置
# 绑定Ctrl+hjkl键为面板上下左右调整边缘的快捷指令
# 注意我们还是需要先按下Tmux的命令键 Ctrl+b
bind -r ^k resizep -U 10 # 绑定Ctrl+k为往↑调整面板边缘10个单元格
bind -r ^j resizep -D 10 # 绑定Ctrl+j为往↓调整面板边缘10个单元格
bind -r ^h resizep -L 10 # 绑定Ctrl+h为往←调整面板边缘10个单元格
bind -r ^l resizep -R 10 # 绑定Ctrl+l为往→调整面板边缘10个单元格
Vim中的宏
昨天在处理一些文本需要一些批量化的工作去做,例如我需要将以下的文本删除最前的时间字符,后面的字符是特定格式的,于是我就想着要不要用vim的宏去处理一下
2021-08-08 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
2021-08-09 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
2021-08-10 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
2021-08-11 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
2021-08-12 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
2021-08-13 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
2021-08-14 12:12:00 CSGDailyPowerSchedulePlanFor_xxxx.xml
我们的目标是将上面的文本转化为以下格式
CSGDailyPowerSchedulePlanFor_xxxx.xml
CSGDailyPowerSchedulePlanFor_xxxx.xml
CSGDailyPowerSchedulePlanFor_xxxx.xml
CSGDailyPowerSchedulePlanFor_xxxx.xml
CSGDailyPowerSchedulePlanFor_xxxx.xml
CSGDailyPowerSchedulePlanFor_xxxx.xml
CSGDailyPowerSchedulePlanFor_xxxx.xml
可以通过下面的步骤完成该工作
- 切换光标到要处理的文本首行
gg
,gg
代表切换到行首0
,0
代表切换到该行的第一个字符
- 切换到Vim的Normal模式
- 使用
qa
开始宏的录制a
代表后续的操作会被存储到寄存器a中
- 使用
ctCj
将时间字符删除,并使光标向下移动ct
是cut till的意思C
是CSGDailyPowerSchedulePlanFor_xxxx.xml
的第一个字符j
代表光标向下移动
- 使用
q
再次退出宏的录制 - 使用
6@a
执行6次宏操作