随手记-基础的vim命令

  • 基础的

:e filename 打开文件

:w  保存文件

:q 退出

:x  写文件并退出(等价于wq)

:saveas filename 另存为filename

. 重复上一次操作

.5 重复5次上一次操作

  •  移动光标

k 向上移动光标

j 向下移动光标

h 向左移动光标

l 向右移动光标

e 移动到行尾

b 移动到单词首

o 移动到行首

G 移动到最后一行

gg 移动到到第一行

L 移动到屏幕最底端

:59 移动到59行

20| 移动到第20列

% 移动到匹配的符合(如中括号、大括号)

[[ 移动到函数头部

[{  移动到块前部

  • 剪切、复制、黏贴

y 复制选中的块(v进入选择块的模式)

yy 复制当前行

y$ 从当前位置复制到行未

p 黏贴

dd 删除当前行

D 删除当前字符

  •  查找

/word  从头到尾查找word

?word 从尾到头查找word

* 查找光标所在的单词

/\cstring  忽略大小写查找string

/jo[ha]n 全文查找john或 joan

/\<the 搜索以the开头的行

/the\> 搜索以the结尾的行

/\<the\> 搜索只有the的行

/fred\|joe 搜索fred和joe

/\<\d\d\d\d\> 搜索只有4个数字的行

/^\n\{3} 搜索3行空白行

:bufdo /str/ 在所有打开的文件中查找str

:bufdo %s/something/somethingelse/g 在所有打开的文件中用somethingelse替换something

  •  替换

:%s/old/new/g 在全文中用new替换old

:%s/old/new/gi   用new替换old,忽略大小写

%s/old/new/gc 在全文中替换old,替换时需要确认才生效

:2,35s/old/new/gc 从第2行到35行替换

:5,$s/old/new/g 从第5行到文章末尾替换

:%s/^/hello/g 从文章开头替换

:%s/$/Harry/g 最后一行替换

:%s/*$//g 删除空白行

:g/string/d 删除含有string的行

:v/string/d 删除不含string 的行

:s/old/new 在当前行替换old,只替换一次

:s/old/new/g  在当前行替换所有的old

:%s/^M//g 删除DOS行

:%s#<[^>]\+>##g 删除html标签

:%s/^\(.*\)\n\1$/\1/  删除出现2次的行

ggvGg?  全文进行Rot13加密

  • 转换

Vu 转换当前行为小写

VU 转换当前行大写

2Vu 转换从当前行开始的2行为小写

g~~  反转当前行的大小写

vEU 转换当前行的大写

vE~ 反转当前行的大小写

ggguG 全文转为小写

gggUG 全文转为大写

:set ignorecase 忽略大小写

:set smartcase 不忽略大小写

:%s/\<./\u&/g 设置第一个单词首写字母为大写

  • 读写文件

:1,10 w outfile 将1到10行写入到outfile

:1,10 w >> outfile 将1到10行追加到outfile

:r infile  插入infile的内容

:23r infile 插入23行infile的内容

  • 文件浏览

:Sex 打开文件浏览器

:browse e 打开文件浏览器

:ls 列出当前文件夹里的所有文件

:cd .. 将父目录调整到上一个目录

:args 查看当前打开的文件名

:args *.php 查看当前打开的所有php文件

gf 打开当前光标的单词的文件

  • 执行shell

:!pwd 执行pwd命令(!+ sh命令)

  • 对齐

:%!fmt 重排所有行,使得所有当前所有行对齐

gg=G 全文格式化

!}fmt  从当前位置重排所有行,使得所有当前所有行对齐

5!!fmt 从当前位置重排5行,使得当前所有行对齐

  • tabs/窗口

:tabnew 创建一个新文件,tab

gt 跳到下一个选项卡

:tabfirst 展示第一个选项卡

:tablast 展示最后一个选项卡

:tabm n(position) 跳到n个选项卡

:tabdo %s/foo/bar/g 在所有的选项卡中,执行%s/foo/bar/g 命令

:tab ball 保存所有

:new abc.txt 新建一个abc.txt选项卡

  • 分隔窗口

:e filename 编辑filename文件在当前窗口

:split filename 分隔窗口,打开filename文件

ctrl-w-w 移动光标到上一个窗口

:vsplit file 垂直分隔文件

:sveiw file 水平分隔文件

:hide 关闭当前窗口

:nly 除了当前文件,关闭所有窗口

:b 2 打开2号文件

  • 文本缩进

:set autoindet 自动缩进

:set smartindet 不自动缩进

:set shifwidth=4 设置缩进为4个空格

>> 右缩进

<< 左缩进

== 缩进当前行

v== 缩进选中行

11== 11行自动缩进

=% 缩进代码的括号

gg=G 全文缩进

  • 语法高亮

:syntax on 语法高亮打开

:syntax off 语法高亮关闭

:set syntax=cpp 设置当前语法环境为c++

 

 

参考网站

http://www.catswhocode.com/blog/130-essential-vim-commands

1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码加密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可填写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添加新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 加餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添加到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或不足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值