Linux、vim常用命令

Linux

常用

命令 功能
ls list files
cd - 或 1 返回上一次目录
gcc *.c (-o ...) 编译C源文件(指定输出的可执行程序名字为...)
g++ *.cpp 编译C++源文件,也可以编译C语言
./*.out 运行C源文件编译得到的可执行程序
mkdir make directory
rm 文件 删除文件
mv 旧路径 新路径
mv 旧文件名 新文件名
移动文件
重命名
clear 或 ctrl + l 清屏

附加

命令 功能
ld *.o 将目标文件与库链接为可执行文件或库文件
有点类似于g++ *.o,但需手动链接库
g++ -c  *.cpp 生成编译后的对象文件(不链接)
g++ -I头文件路径 *.cpp 编译时添加头文件路径到系统库路径下
./*.out > output 标准输出重定向
./*.out 2> output 错误输出重定向
time ./*.out 可显示代码执行时间
ctrl + a 光标移到行首
ctrl + e 光标移到行尾
ctrl + r 搜索之前打过的命令
man 指令 查看指令说明
touch makefile 创建空白文档 makefile

Tips

  • 修改zsh控制台显示:用户名hz@后面隐藏主机名字,节省屏幕
    • 在~/.zshrc中,找到该行
    • image-20210604160421969
    • 主要是删去%m,如下:
PROMPT="%{$fg[red]%}%n%{$reset_color%} : %{$fg[yellow]%}%1~ %{$reset_color%}%# "
  • Man手册

Vim

默认【普通模式】下

常用

命令 功能
esc * 1、2 切换到 普通模式、保存并检查语法 [普通模式下]
注意:
一般切换到普通模式按1下esc [如果按2下,在瞬间按方向键或滚动鼠标滚轮会有字符输出]
在普通模式下按2下保存并检查语法 [如果只按1下,同上]
i、I 切换到 插入模式、并到行首
a、A 切换到 插入模式 到后一位、到行尾
o、O 切换到 插入模式 并向下开启新行、向上开启新行
: 切换到 命令行模式
v、V 切换到 visual、visual line 模式
后者适合快速操作整行
ctrl + v 切换到 visual block模式
u 撤销 undo
ctrl + r 反撤销 redo
d;dd [D]、ndd 剪切、删除(visual模式下;普通模式下某1、n行)
y;yy、nyy 复制(visual模式下;普通模式下某1、n行)
ynG、dnG 复制、剪切当前行到第n行的内容
p 粘贴(visual模式下;普通模式下)
gg 文件头部
G 文件尾部
$、0、^ 行尾、行首、有效行首
h、j、k、l 控制光标左、下、上、右移一格
:%s/old/new/gc 全局替换字符串old为字符串new [c代表询问]
范围可变:%全文,i, j第i~j行
参考Vim学习笔记 - 常用查找替换命令
/关键词
enter n N
搜索关键词
enter定位到关键词 n向后找 N向前找
【跨文件拷贝】
:sp、:vsp
:e .
yy、dd
ctrl + w
p
【跨文件拷贝】
切分窗口 横向、纵向
打开另一文件
在某窗口进行拷贝、剪切操作
切换窗口
粘贴
【在某列快速插入相同字符】
ctrl + v
上下左右
I (大写i)
输入字符
esc * 2
【在某列快速插入相同字符】
切换到 visual block 模式
选中要在前面插入字符的某列
切换到 插入模式,并到行首
输入字符
生效
【快速缩进】
v / V / ctrl + v
上下
> / < (shift + , / .)
【快速缩进】
切换到任意visual模式
选中要缩进的行
缩进 / 取消缩进 (还可以使用2>>快速缩进两次)

附加

命令 功能
:set paste、nopaste 开启、关闭粘贴模式
适合在插入(粘贴)模式下粘贴 [shift + insert] 来自windows的多行文本
:set mouse=c 可使用鼠标操作,复制和粘贴对应信息
shift + k 跳到标签对应的man手册
ctrl + ] 找到光标所在位置的标签定义的地方 [ctags]
ctrl + o
ctrl + i
回到上一视图
前往下一视图
ctrl + f [shift + ↓] 下翻一页
ctrl + b [shift + ↑] 上翻一页
f5 编译C、C++
f6 代码格式优化
f8 调试
ddkP 、
:m -2
将代码向上移动一行
ddp 或
:m +1
将代码向下移动一行
dnw 剪切n个单词

Tips

  • for循环的‘{’后面不要加‘//’注释,否则回车缩进会出错
  • 参考Learn-Vim-Github
  • vimtutor练习
    • 练习一遍,vim就会用得很6
    • 直接在终端输入vimtutor进入