一,三种模式 1.命令模式(该模式是打开文件的第一个看到的模式,打开文件即可看到) 光标的移动 光标移动到行首 shift+6/^
光标移动到行尾 shift+4/$
光标移动到首行行首 gg
光标移动到末行行首 G
翻屏 向上 ctrl+b(before)/PgUp
向下 ctrl+f(after)/PgDn
向上翻半屏 ctrl+u/up
向下翻半屏 ctrl+d/down
向上/下/左/右移动指定的行/列 数字,箭头
快速定位到指定行 数字+G
复制操作 复制光标所在行 yy
"在想粘贴的地方按下p(小写)键,粘贴在下一行;按P(大写),粘贴在上一行。"
"以光标所在行为准(包含当前行),向下复制指定的行数" 数字yy
可视化模式下复制 "ctrl+v(可视块)/V(可视行)/v(可视),然后按箭头方向键来选中要复制的区块,按下y键进行复制,最后按下p键粘贴"
退出可视化 Esc
剪切/删除 剪切/删除光标所在行 dd(删除之后下一行上移)
dd严格意义上说是剪切命令,但如果剪切不了粘贴就是删除的效果
"剪切/删除光标所在行为准(包括当前行),向下删除/剪切指定行" 数字dd(删除之后下一行上移)
剪切/删除光标所在行的当前行(光标所在位置)之后的内容,但删除之后下一行不上移 D(当前行会变成空白行)
可视化删除 "ctrl+v(可视块)/V(可视行)/v(可视),然后按箭头方向键来选中要复制的区块,按下D表示删除选中行,d表示删选中块"
退出可视化 Esc
撤销/恢复 撤销 """:u""(不属于命令模式)/u(undo)"
恢复 ctrl+r(恢复(取消)之前的撤销操作
2.末行模式 进入方式 "由命令模式进入,按下"":""或者""/(表查找)""即可进入"
退出方式 按下Esc
连按两次Esc
删除末行全部输入字符
保存(write) """w""" 保存文件
"""w 路径""" 另存为
退出 """q""" 退出文件
"默认情况下,退出的时候需要对已经进行修改的文件进行保存(:w),然后才能退出"
保存并退出 """wq""" 保存并退出
强制(!) """:q!""" 表示强制退出,刚才做的修改操作不做保存
调用外部命令 """:! 外部命令""(外部指令写法与在正常终端中执行一样)"
当外部命令执行结束之后按下任意键回到vim编辑器打开的内容
搜索/查找 """/ 关键词""" 按下/也是进入末行模式的方式之一
在搜索结果中切换上/下一个结果:N/n(上/下)
"如要取消高亮,输入"":nohl""(no highlight)"
替换 """:s/搜索的关键词/新的内容" 替换光标所在行的第一处符合条件的内容
""":s/搜索的关键词/新的内容/g" 替换光标所在行的全部符合条件的内容
""":%s/搜索的关键词/新的内容""" 替换整个文档中每行第一个符合条件的内容
""":%s/搜索的关键词/新的内容/g""" 替换整个文档中符合条件的内容
% 表示整个文件
g 表示全局(global)
s 替换
显示行号(临时) """:set nu(number))"
"如需取消显示,输入"":set nonu"""
使用vim同时打开多个文件,在末行模式下进行切换文件 """:files""" 查看当前已经打开的文件名称
%a 表示当前正在打开的文件(active)
# 表示上一个打开的文件
切换文件的方式 "如果需要指定切换文件的名称,则可输入"":open 已打开的文件名"""
可以通过其他命令来切换上一个文件/下一个文件 bp(back prev)切换到上一个文件
bn(back next)切换到下一个文件
部分命令模式操作使用末行模式实现 "1)末行模式下的复制(yy),剪切(dd),删除(dd)操作"
复制语法 """:开始行号,结束行号y"""
剪切删除语法 """:开始行号,结束行号d"""
一步到位的复制语法 """:开始行号,结束行号 co 粘贴到的行号"""
剪切粘贴一步到位语法 """:开始行号,结束行号 m 粘贴到的行号"""
2)末行模式下的快速移动方式:移动到指定行 "”:行数数字""按下回车"
3.编辑模式 进入方式 i 在光标所在字符前开始插入
a 在光标所在字符后开始插入
o 在光标所在行的下面另起一新行插入
I 在光标所在行的行首开始插入,如行首有空格则在空格之后插入
A 在光标所在行的行尾开始插入
O 在光标所在行的上面另起一新行插入
S 删除光标所在行并开始插入
退出方式 Esc
二,模式间的切换
末行模式进入之后的特征 光标在最后一行上
编辑模式进入之后的特征 在最后一行有类似于“------插入(insert)-----”的提示
末行模式和编辑模式之间是没有办法直接切换的,必须先走命令模式。
三,实用功能 1.代码着色 """:syntax on""" 进入末行模式显示
""":syntax off""" 关闭显示
syntax:语法
2.计算器的使用 进入编辑模式
"按下""ctrl+R""键,然后输入""="",此时光标会变到最后一行"
输入需要计算的内容,按回车
四,扩展 1.vim的配置 针对本机 "a,在文件打开的时候在末行模式下输入的配置(临时的)(eg: :set nonumber,然后回车)"
针对个人 "b,个人配置文件(~/.vimrc,如没有可自行新建)"
针对整个计算机 "c,全局配置文件(vim自带,/etc/vimrc)"
个人配置>全局配置 eg:个人配置.vimrc,全局配置/etc/vimrc,在两个文件中输入不同命令,以个人配置中的为准
2.异常退出 "在编辑文件之后没有正常的去wq,而是遇到突然关闭终端或者断电的情况"
解决办法 将交换文件(编辑过程中产生的临时文件)删除即可
删除之前文件# rm -f .passwd.swp
3.别名机制 相当于创建一些属于自己的自定义命令
eg:通过别名机制创造cls清屏命令 # vim ~/.bashrc
# ls -la ~ | grep '.bashrc'
# vim .bashrc
alias cls='clear'
su 直接切换用户(最好加-)
如果想新创造的命令生效,必须重新登陆当前用户
4.退出方式 :wq 文件未修改,修改时间会变成退出时间
:x 文件未修改,退出时间不会更新修改
:X(大写) 对文件进行保密操作