linux终端效率提升

1. linux 终端

1.1 移动相关

行首行尾

  • Ctrl+a:移动到行首
  • Ctrl+e:移动到行尾

单词移动

  • ctrl + 左右箭头 (防止被其他app占用) 如果不行,一定要关闭mac系统的快捷键(设置-> 快捷键 -> 调度中心)。
iShot_2024-09-09_21.10.21-5888651

1.2 删除相关

删除单词

  • Ctrl + w:(删除的快) 删除前面的单词 (通常是空格、标点符号等)
  • Option + Del :删除前面的单词(删除的更慢一些,linux 终端建议使用)

  • Escape + d (顺序按):向后删除单词。

多用 opt + del

例如:/data/online/Wan2GP,我只想删除一处,整个删完。更换为:Option + Del 默认绑定的就是 backward-kill-word,可以按路径分隔符逐段删除。

1
2
3
4
5
6
7
8
9
bind -p | grep '\\C-w'

"\C-w": unix-word-rubout


# unix-word-rubout 和 backward-kill-word 的区别:
unix-word-rubout:将空格作为单词分隔符,对于 /data/online/MultiGPU-GIMM-VFI/ 这种没有空格的路径,会当作一个整体删除
backward-kill-word:将更多字符(如 /、-、_ 等)作为单词分隔符

删除行

1.3 恢复单词

  • Ctrl + _(撤销)

  • Ctrl + Y(粘贴/恢复) 如果你刚用 Ctrl + W 删除了一个单词,可以立即按 Ctrl + Y 来恢复它

2. VIM

2.1 行首行尾

  • 行首:0
  • 行尾:$

2.2 单词移动

  • 向后移动单词:w
  • 向前移动单词:b
  • 往后跳多个字母:10l
  • 往后跳到某个字母:f, (调到一个逗号)
  • 括号匹配:%
  • 不在同一行跳跃:? / 搜索跳跃

2.3 删除单词

  • 向前删除单词:db, d0
  • 向后删除单词:dw, d$

2.4 屏幕滚动

  • ctrl +u ctrl + d 半屏幕滚动
  • zz 把该行放到中间

3. 终端复制和搜索体验

3.1 搜索

  • cmd + f : 是 Alacritty 的功劳
  • tmux 进入复制模式,/ 可以搜索,前提是需要设置 vi 模式
    • set -g status-keys vi
    • set -g mode-keys vi

3.2 复制

  • 鼠标选中就复制,怎么做到的
    • Alacritty 的实现
      • [selection] save_to_clipboard = true
    • tmux 的实现
      • 鼠标进入复制模式,再发给 pbcopy # bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
      • Tmux 神级插件:Morantron/tmux-fingers