首页 > 代码库 > vim
vim
模式化编辑器:
编辑模式(命令模式)--默认的工作模式
末行模式
插入模式(输入模式)
替换模式
可视化模式
vi、vim的打开方式
vim file:file的存在,则打开并将光标默认放置在第一行第一个字符,file不存在则以新文件的方式打开,若保存,则文件被创建,若不保存,文件消失
vim +# file:指定打开文件的时候将光标定位在第#行行首,如果定位的行数比整个文档的行还要大,则光标停留在最后一行行首
vim+/PATTERN/:打开文件并将文件定位至首次被PATTERN匹配的行的行首位置,及至完成首次匹配
vi\vim的关闭方式:
末行模式的关闭:
:+q直接关闭vi编辑器不保存修改内容
:+q!强制退出但不保存
:w保存修改内容
:wq保存修改的内容并关闭vim编辑器
:wq!对于root用户来说一些只读文件的修改可以强制保存退出
:w!强制保存
编辑模式的关闭:
ZZ:保存并退出
ZQ:不保存退出
在vi的编辑模式中移动光标
逐字符移动ARROW: h:光标向左 j:光标向下 k:光标向上 l:光标向右
逐字移动:w:移动到下一个字的字首 e:移动到下一个字的末尾 b:移动到上一个字的字首
行内跳转:0:绝对行首 ^:相对行首 $:绝对行尾
行间跳转:#G:直接将光标移动到第#行 G:直接将光标移动到文档的最后一行 gg:跳转到第一行的第一个字符
末行模式中的光标移动
:#直接将光标移动到第#行
:$直接将光标移动到最后一行
翻屏
Ctrl+F向下一屏切换
Ctrl+B向上翻一屏
Ctrl+D向下翻半屏
Ctrl+U向上翻半屏
逐字符删除:
x:删除光标所在位置的但个字符
X:删除光标所在位置左侧的单个字符
在编辑模式下的万能删除命令:
d:删除光标经过的所有内容
dd:删除光标所在行
在末行模式下
:m,nd从第m行到第n行删除
.光标所在行
$文档的最后一行
:d删除光标所在行
:#d删除第#行
:m,+nd;删除从当前光标所在行开始经过n行的所有行
:m,nd;删除从当前光标所在行开始到第n行结束所有行
m,+n;从当前光标所在行开始在经过n行
万能粘贴命令
p:向右向下进行粘贴
P:向左向上进行粘贴
复制
y:复制光标所经过的所有内容
用法与d命令相同
模式的切换
从编辑模式到末行模式
:输入命令
/ ?进行查找 /自上而下 ?自下而上
从末行到编辑模式
用esc键
enter键
Backspace键
从编辑模式到输入模式
I将光标移动至行首并进入输入模式
i在光标所在位置前面插入字符
A将光标移动至行尾并进入输入模式
a在光标所在位置后面插入字符
O在光标所在行的上面插入新行
o在光标所在行的下面插入新行
cc删除整行内容之后进入输入模式
C从光标所在位置删除至行尾进入输入模式
s删除光标所在位置的一个字符进入输入模式
S删除光标所在行内容并进入输入模式
从输入模式到编辑模式
ESC键
从编辑模式到替换模式
R进入替换模式
从替换模式到编辑模式
ESC键
从编辑模式到可视化模式
v按照字符进行矩形选取
V按行进行矩形选取
在选取之后可以进行复制删除操作完成操作就会返回编辑模式
所有的模式切换必须经由编辑模式,两种非编辑模式中无法直接进行切换
替换命令
r替换光标所在位置的一个字符
撤销编辑操作
u:撤销一次此前的编辑操作
Ctrl+r撤销最近一次的撤销操作
特殊的末行命令
开启行编号 set number set nu 取消行编号set nonumber set nonu
开启关闭字符大小写 set ignorecase set ic 关闭 set noic
开启自动缩进功能 set autoindent set ai 关闭 set noai
开启查找高亮显示 set hlsearch 关闭 nohl
开启语法着色 syntax on 关闭 syntax off
vim