Vim学习
模式
VIM 中有多种模式:基本模式和派生模式
基本模式
Normal mode 普通模式、默认模式、命令模式
默认模式,首次用 VIM 打开文件进入该模式,在其他模式中可以使用 ESC 进入该模式。也叫命令模式
使用
Ctrl + g可显示当前文件名和一些其他信息
Visual mode 可视模式
在 Normal mode 下,输入 v , V 或者 Ctrl + v 进入可视化模式,该模式可以选择一块编辑区域,然后对选中的文件内容执行 插入、删除、替换、改变大小写 等操作。
字符选择模式:选中光标经过的所有字符,普通模式下按
v进入行选择模式:选中光标经过的所有行,普通模式下按
V进入块选择模式:选中一整个矩形框表示的所有文本,普通模式下按
Ctrl + v进入
可以使用
o在选中区域的左上角和右下角切换
参考 https://vimjc.com/vim-visual-mode.html
Select mode 选择模式
可以用鼠标或光标键高亮选择文本
任何输入都会替换选择的高亮文本
并进入插入模式
参考 https://www.bilibili.com/read/cv12497070
Insert mode 插入模式、编辑模式
可以将你的输入插入当前文档
从普通模式进入插入模式
i光标的前一个字符处I光标当前行的行首a光标的后一个字符处A光标当前行的行尾o光标当前行的下一行O光标当前行的上一行
参考 https://vimjc.com/vim-edit-command.html
Command-Line mode 命令行模式
普通模式输入 : 进入命令行模式
一些常用的命令
:set number显示行号,简写:se[t] nu[mber]:set nonumber关闭显示行号,简写:se[t] nonu[mber]:set relativenumber显示相对行号,简写se[t] rnu,这时同时设置:se nu会,当前行显示绝对行号,上下部分显示相对行号:w保存当前编辑的文件:wq保存当前编辑的文件并退出:w!强制将当前文件保存:q退出vim:q!强制退出:write [fileName]将当前文件另存为fileName并打开:saveas [fileName]将当前文件另存为fileName,简写:sav [fileName]/查询,n查找上一个,N查找上一个
参考
https://www.bilibili.com/read/cv12686699
https://vimjc.com/vim-edit-command.html
Ex mode 多行命令执行模式
Ex 指的是 Execute
在普通模式使用 gQ 进入,使用 :visual 退出
参考 https://www.bilibili.com/read/cv12497070
Vim 文本编辑命令
插入
从普通模式进入插入模式
i光标的前一个字符处I光标当前行的行首a光标的后一个字符处A光标当前行的行尾o光标当前行的下一行O光标当前行的上一行
删除
在普通模式下
x删除光标位置的一个字符dd删除光标所在行d0删除光标位置到当前的行首d$删除光标位置到当前的行尾db、dB删除从光标位置到当前单词开始部分dw、dW删除从光标位置当当前单词结束部分cb、cB删除从光标位置到当前单词开始部分,并进入插入模式cw、cW删除从光标位置到当前单词结束部分,并进入插入模式
复制、粘贴
在普通模式下
yw复制从光标位置到当前单词结束部分的内容yy复制当前行p将复制的文本内容复制到光标所在的字符后P将复制的文本内容复制到光标所在的字符前
替换
r替换光标所在字符一次R一直替换,直到按下ESC键
撤销
u撤销U撤销撤销的内容
保存
:w保存当前编辑的文件:wq保存当前编辑的文件并退出:w!强制将当前文件保存
另存为
:write [fileName]将当前文件另存为fileName并打开:saveas [fileName]将当前文件另存为fileName,简写:sav [fileName]
Vim 中的位置
在普通模式下可以使用
h、j、k、l,移动左、下、上、右gg到当前文本的行首G到当前文本的行尾
