Linux终端宝具:tmux & vim
本文最后更新于 835 天前,其中的信息可能已经有所发展或是发生改变。

tmux

功能
  1. 分屏终端
  2. 终端意外断连后,继续运行进程,可防断网断电
结构

一个tmux可包含多个session,一个session可包含多个window,一个window可包含多个pane

操作
  1. tmux

    新建一个session,包含一个window,下面包含一个pane,pane里打开了一个shell

  2. Ctrl + A

    • 前缀键位可以改,这里是默认配置

    再按 % :当前pane左右平分(新建)

    再按 " :当前pane上下平分

    同时按方向键——调整 pane 分割线

    再按方向键——选相邻 pane

    再按 Z:将当前 pane 全屏/取消全屏

    再按 D:挂起当前 session

    再按 C:在当前 session 中创建一个新的 window

    再按 W / S:显示 window / session 列表可选择

    再按 PageUp / 上滚轮:翻阅 pane

    再按 P / N:切换 window

  3. Ctrl + D

    关闭当前pane。无 pane 的 window 会自动关闭,session 同理

  4. tmux a

    打开之前挂起的session

  5. Shift

    按住才能在 tmux 中选中,经常忘

  6. tmux 中复制/粘贴文本:

    1. 按下Ctrl + A,再按 [
    2. 用鼠标选中文本,自动复制到 tmux 的剪贴板(是 tmux 的剪贴板)
    3. 按下Ctrl + A,再按 ],将剪贴板中内容粘贴到光标处

vim

概述
  1. 结合命令行的强大编辑器,会识别扩展名,支持各种语言。支持缩进、高亮等功能
  2. 因为只是编辑器,相比 IDE,打开大文件的速度快得多
  • vim 文件名 有文件则打开;没有则新建
三种模式
  1. 一般命令模式(默认模式)

    通过按键输入命令,进行不同操作

  2. 编辑模式

    一般命令模式,输入 i 进入,ESC 返回

    不常用的方式:

    • 输入 a ,移动到行尾开始编辑
    • 输入 o ,在新插入的一行中开始编辑
  3. 命令行模式

    一般命令模式,按 : / ? 进入,命令行在最下方

操作

命令行皆用``标记,shift 输入大写字母

  1. 数字n + Space

    光标向右移动 n 个字符(可以跨行)

  2. 0 或 Home

    光标移动到本行开头

  3. $ 或 End

    光标移动到本行末尾

  4. 数字n + Enter

    向下移动 n 行

  5. :n / nG ,G,gg

    移动到第 n 行,没有 n 到末行,gg = 1G,到首行

  6. /MGC

    向下寻找首个为 MGC 的字符串,定位到字符串前一位

  7. ?MGC

    向上寻找首个为 MGC 的字符串

  8. n

    反复执行上一个查找操作(高效查找)

  9. N

    反向进行上一个查找操作

  10. :noh

    取消查找关键词的高亮

  11. :n1,n2s/MGC/xcr/g

    在第 n1 与 n2 行间寻找字符串 MGC,替换为 xcr

  12. :1,$s/MGC/xcr/g

    将全文的 MGC 替换为 xcr

  13. :1,$s/MGC/xcr/gc

    预定替换,但每次替换前要按 Y/N 确认,适用于选择替换

  14. v

    开始文本选中

  15. d

    剪切选中文本(兼用删除)

  16. y

    复制选中文本

  17. dd

    剪切当前行

  18. yy

    复制当前行

  19. p

    将复制的文字 / 行在下一光标处 / 下一行粘贴

  20. u

    撤销操作

    按 Ctrl + R 取消撤销

  21. 数字n + > / <

    将选中行整体向右 / 左缩进 n 次,无 n 则按 2 下方向移 1 次

  22. ==

    格式化当前行(缩进和空格)

  23. 组合技:gg=G / ggdG / ggyG

    格式化 / 删除 / 复制全文

    G 换成 nG 变为选择 1-n 行

  24. 保存和退出

    :w 保存
    :w! 强制保存
    :q 退出(需要保存)
    :q! 强制退出(不保存)
    :wq 保存并退出

  25. :set paste / :set nopaste

    开启粘贴模式,取消自动缩进 / 取消粘贴模式,开启自动缩进

    粘贴时不会识别已有的缩进,导致重复缩进

    所以需要取消自动缩进,待粘贴完后及时关闭

  26. :set nu / :set nonu

    显示 / 隐藏行号

异常处理
  1. 操作:快捷键 Ctrl + Q

    vim 卡死时(如死循环),可以取消正在执行的命令

  2. 用 vim 编辑文件时,会自动创建一个 .文件名.swp 的临时文件,swp 存在时打开文件会报错,文件正常关闭时,一般自动删除 swp

    • 要在存在 swp 的情况下打开文件,可以:
      1. 退出正在打开文件的程序
      2. 直接给他 rm
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇