TMUX
tmux
是一款终端复用工具,可以在一个终端窗口中创建多个“窗格”( pane
)或“窗口”( window
),从而使用户可以在同一个终端界面中同时运行多个命令行程序或窗口管理器等。
-
tmux
打开一个新的会话。tmux new -s session_name
打开一个新的会话并为这个会话命令。
-
tmux a
打开上次关闭的会话。 -
tmux ls
列出所有会话。 -
Ctrl + a
d
直接退出当前会话。- 后续可以恢复会话。
-
tmux kill-session [-a] [-t target-session]
杀死会话。-a
选项表示删除所有会话;-t
选项后跟要删除的目标会话名称或会话ID。- 后续不可恢复会话。
-
Ctrl + a
Shift + %
将当前窗格切割为左右两个。 -
Ctrl + a
Shift + "
将当前窗格切割为上下两个。 -
Ctrl + d
关闭当前窗格。- 当关闭最后一个窗格时,退出会话。
-
按下
Ctrl + a
,通过方向键可以移动到相邻的窗格。 -
Ctrl + a
z
可以使得当前窗格最大化,重复操作可以取消最大化。
VIM
vim
是一种文本编辑器,是Vi编辑器的加强版,常用于在 Linux
和 Unix
系统中编辑多种类型的文本文件。由于 vim
可以通过终端或远程 SSH
连接使用,因此非常适合在服务器上编辑文本文件。
vim filename
如果已有该文件,则打开它。如果没有该文件,则打开个一个新的文件,并命名为filename
。
常用 的 vim
命令 分为三类:
- 命令模式(Command mode):在这个模式下,用户可以执行各种编辑命令,如移动光标、删除文本、复制粘贴等。常用的命令包括:
i
进入插入模式,在当前光标位置之前插入文本。a
进入插入模式,在当前光标位置之后插入文本。x
删除当前光标所在位置的字符。dd
删除整行。yy
复制整行。v
选中文本,通过键盘方向键控制要选中的内容。y
复制选中的内容。p
粘贴被复制的内容。Ctrl + q
当vim
卡死时,可以取消当前正在执行的命令。u
撤回上一步操作。Ctrl + v
进入列模式,用方向键选择需要选中的部分,按I
(大写的i
)进入插入模式,按下//
后按两下ESC
。可完成批量注释。Ctrl + v
进入列模式,用方向键选择需要选中的部分,通过<
或>
实现多行向前或向后缩进。
- 插入模式(
Insert mode
):在这个模式下,用户可以直接输入文本,并且可以通过向左或向右移动光标来编辑已经输入的文本。可以通过按Esc
键返回到命令模式。Ctrl + n
:自动补全 。队友 XYH 传授,非常好用。
- 末行模式(
Last line mode
):在这个模式下,用户可以执行一些高级的命令,如保存文件、退出vim
编辑器等。常用的命令包括::w
保存当前文件。:wq
保存当前文件并退出vim
编辑器。:q
退出vim
编辑器。:q!
强制退出vim
编辑器并放弃所有更改。
异常处理 :
每次用vim编辑文件时,会自动创建一个 .filename.swp
的临时文件。如果打开某个文件时,该文件的 swp
文件已存在,则会报错。此时解决办法有两种:
- 找到正在打开该文件的程序,并退出。
- 直接删掉该
swp
文件即可。
另外如果在未保存文件的情况意外退出,且没有开 tmux
,那么可以通过 vim -r filename
命令恢复文件,前提是 .filename.swp
文件没有被删除。
G++ 编译器
在 Linux
操作系统中, G++
是一个常用的 C++
编译器,被广泛使用来编译、链接和生成可执行程序。
-
g++ source_file.cpp -o executable_file
其中source_file
代表你的源代码文件名,executable_file
代表可执行程序的文件名。- 将编译和链接分开:编译:
g++ -c xxx.cpp yyy.cpp
。链接:g++ *.o -o main
。
- 将编译和链接分开:编译:
-
./executable_file
在终端中运行可执行文件,其中executable_file
代表可执行程序的文件名。