vim是vi的升级版
vim格式
命令? ?选项? ? ? ? ? 文件
vim ?文件名不存在 ?是新建
vim ?文件名存在? ? ? 就是修改
vim + n 打开文件后让光标处于第n行的行首
! vim 打开上一次的文件
例如:
- 使用vi编辑器的快捷方式打开上一次打开的文件?? ?!vim
- 使用vi编辑器打开某一文件直接让光标处在第十行?? ? vim? +10
1. 命令模式:才进去的那个模式,(默认模式)可以实现移动光标,剪切/粘贴文本
2. 插入(Insert)或编辑模式:用于编辑文本
3. 末行模式:辅助操作,保存,退出等搜索替代
此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
dd删除光标所在行,删除一行
d删除 ? ? dw删除一个单词?
10dd删除10行 ? ? ?x删除一个字符
u一次操作 ? ?U全部撤销 ? ctrl+r取消撤销
y复制 ?yy 复制一行 ? 10yy复制10行
p贴在光标下一行
P贴在光标上一行
G末行,最后一行? ? ? ?? gg ?首行
^ ? ?和 ? ?0 ? ?跳转行首(^如果行首有空格只能到最前面字符,0是到行首不管有无空格),
? ? ? ? ? ? ? end键 或者 ? $ ? 跳转行尾? ? ? ?
? ? ? ? ? ? ? ? ? w 一个单词一个单词跳? ? ? ? ? ?x删除一个字符
? ? ? ?w ? 一个单词一个单词跳
y:复制
yy :复制一行
10 yy 复制10行
d:删除
dd:删除一行
10 dd:删除10行
d$:删除到行尾
d^:删除到行首
p:贴在光标下面
P:贴在光标上面
dw:删除一个单词
r:替换
R:替换模式
ZZ:保存退出
ZQ:直接退出
H:光标移动到当前页面的开始行
M:中间行
L:行底
~:大小写转换
xp:位置转换
J :下面一行合并起来
ctrl +r:取消撤销
vim +10 passwd 打开后直接跳到第10行
!:打开上一次的文件 !vim
vim +^name passwd:打开passwd跳到以名字开头的行
使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
? ? ? ? 文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
:! +命令 显示命令内容
:r! 目录 读入命令
:nohl 取消高亮
:set ai 自动对齐
:set all 查看帮助
[替换范围] s /旧的内容/新的内容[/g]
:s /old/new 替换当前行中的第一个old改为new
:s /old/new/g 替换当前行中的所有old改为new
:#,# s /old/new/g #到#行所有old改为new
:%s /old/new/g %代表全文 全文替换所有old改为new
# d 删除 第#行
#,# d 删除#到#行
#,# y 复制三到6 行
:set nu 或:set nonu 加行号 不显示行号
公式:范围 s /文章中旧内容/替换内容/修饰符
范围:
不写范围:默认光前所在行
%:全文
#:代表数字
1,9 :1到9行
$:最后一行
$-1:倒数第二行
2,$:2到最后一行
修饰符:
给所有行开头加上#? ? %s/^/#/
给所有行开头#去掉? ? ?%s/^#//
? ?将passwd文件中的nologin全部替换为bash? ? % s/nologin/bash/