vim笔记

三种模式:
1.命令模式(打开vi即进入命令模式)(入口)
作用:定位,翻页,复制,粘贴,删除等
快捷键:
移动光标:h,j,k,l
行内移动光标
向后移动一个单词:w
向前移动一个单词:b
行首:0
行首,第一个不是空白的字符位置:^
行尾:$
行数移动
文件顶部:gg
文件末尾:G
数字对应行数:数字gg==数字G
屏幕移动
向上翻页:ctrl+b
向下翻页:ctrl+f
屏幕顶部:H
屏幕中间:M
屏幕底部:L
段落移动
上一段:{
下一段:}
标记
添加标记:m字母 (字母可以时a-Z之间任意一个)
返回定位:'字母
三种可视模式:(按 esc 返回命令模式)
可视模式:v (从光标开始按照正常模式选择文本)
可视行模式:V (选中光标经过的完整行)
可视块模式:ctrl+v (垂直方向选中文本)
可视模式下,可以和移动命令连用,如 ggVG 可以选中所有内容
撤销和回复撤销
撤销上次命令:u (可以一直撤销到文件打开)
恢复撤销的命令:ctrl+r
删除文本
删除光标所在字符或删除选中文本:x
删除移动命令对应的内容:d(移动命令)
删除光标所在的行:dd
删除光标位置到行尾:D
删除命令可以和移动命令连用,常见命令组合:
dw : 从光标位置删除到单词末尾
d0 : 从光标位置删除到行首
d} : 从光标位置删除到段落结尾
ndd : 从光标位置向下连续删除n行
d数字G : 从光标所在行 删除到 指定数字行 之间的所有代码
d'a : 从光标所在行 删除到 标记a
复制粘贴
复制 : y(移动命令)
复制一行 : yy (可以 数字yy 复制多行)
粘贴 : p
替换
替换当前字符: r
进入替换模式,并替换当前光标往后的位置: R
缩进
向右增加缩进:>>
向左减少缩进:<<
可视模式下只需要按一次 < 或 >
重复
重复上一步操作:.
查找
查找str: /str
找到后
查找下一个:n
查找上一个:N
如果不想看到高亮显示,可以随便查找一个文件不存在的str
单词快速匹配
向后查找光标所在单词 : *
向前查找光标所在单词 : #
查找并替换(需要在末行模式下执行)
:进入末行模式
基本格式: %s///g
全局替换 : %s/旧文本/新文本/g
可视区域替换 : 先用可视模式选中搜索范围
再进入末行模式,用 s/旧文本/新文本/g
确认替换(确认后才替换):%s/旧文本/新文本/gc
确认命令选项: y:yes,n:no,a:all q:quit
进入编辑模式
在当前字符前插入文本 : i
在行首插入文本 : I
在当前字符后添加文本 : a
在行末添加 : A
在当前行后面插入一空行 :o
在当前行前面插入一空行 :O
删除当前字符并进入编辑模式 : s
删除当前行并进入编辑模式 : S
给多行代码增加注释符号#
1.按0移至行首
2.按ctrl+v进入可视块模式
3.下移光标选中需要的多行
4.用 I 进入编辑模式
5.输入 #
6.按ESC返回命令模式,vi就自动在多行前加入 #


括号切换:% 在成对的括号内前后切换
输入一个数字再跟上一个命令,可以让该命令重复执行数字的次数
2.末行模式(命令模式按 : 进入)(出口)
作用:保存,退出等
快捷键
wq:保存并退出vi
q!:不保存退出vi
3.编辑模式(命令模式按 i 进入)

命令模式:u 撤销上一步
:x 保存并退出
:e 文件名 或 e. 打开文件或选择文件打开(支持tab自动补全)
:n 文件名 新建一个文件
:w 文件名 保存一个文件,相当于另存为
:sp 文件名 横向增加分屏
:vsp 文件名 纵向增加分屏
分屏:(基于ctrl+w操作,即先按一次ctrl+w,再输入下列命令)
w : 切换另一个窗口
r : 上下或者左右窗口互换
c : 关闭当前窗口,但是不能关闭最后一个窗口
q : 退出当前窗口,如果时最后一个窗口,则关闭vi
o : 关闭其他窗口




打开文件时:
vi 文件名 +行数(打开时定位到行数)
vi 文件名 + (打开时定位到文件末尾)
打开文件时,出现有交换文件,按d删除交换文件即可
原文地址:https://www.cnblogs.com/huohu121/p/12300469.html