
介绍:
Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 Vim的第一个版本由布莱姆·米勒在1991年发布。现在是在开放源代码方式下发行的自由软件。
操作:
vim的4种模式
(一)普通/正常/命令模式(Normal mode)
正常模式:打开即进入正常模式,无法插入字符,在任何模式都可以通过按esc键回到正常模式。
(二)插入模式(insert mode)
插入模式:在正常模式下按i,a,o进入插入模式。插入模式在输入文本时使用。
(三)命令行模式(command-line mode)
命令模式:用于执行较长、较复杂的命令;在正常模式下键入冒号(:)即可进入该模式。
(四)可视模式(visual mode)
可视模式:在正常模式按v,shift+v,ctrl+v可以进入可视模式行。
vim配置文件地址:~/.vimrc
启动默认进入正常模式!任何模式esc都能回到正常模式!
插入模式:

:wq 保存并退出
:w 存盘
:q 退出
:q!强制退出
dd 删除当前行并把删除的内容保存到剪贴板
P(大写)粘贴到当前行的前一行
p(小写)粘贴到当前行的后一行
h 左 j 下 k 上 l 右
插入
a 在光标后插入
A 在行尾插入
i在当前字符之前插入
I在行首插入
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换(change)从光标所在位置后到一个单词(word)结尾的字符
简单地移动光标
0 到行首
^ (shift+6) 当本行第一个不是blank字符的位置(blank指空格、tab键、换行、回车等)
$ (shift+4) 到本行行尾
g_ 到本行最后一个不是blank字符的位置
G (shift+g)跳转到结尾
ctrl+g 显示位置/状态信息
/pattern 搜索pattern字符串(如果搜索出了多个匹配项,可按n键跳到下一个)
拷贝/粘贴
p (在当前位置之后)粘贴
P大写 (在当前位置之前)粘贴
yy 拷贝当前行,相当于ddp
撤销和重做(undo/redo)
u undo 撤销
ctrl+r redo 重做
R 替换模式
r 替换字符
打开/保存/退出/改变文件
:e 文件名 打开一个文件
:w 存盘
:saveas 文件名 另存为
3个保存退出的命令
😡 保存并退出 如果有需要才会保存
ZZ(大写) 保存并退出,不需要冒号
:wq 保存并退出
:q! 退出不保存
:qa! 强行退出所有正在编辑的文件,就算别的文件有更改
:bn和:bp 可以同时打开多个文件使用他们来切换上一个或下一个文件
重复命令
.(小数点) 可以重复上一次的命令
N<命令> 重复某个命令N次
dd 删除当前行并把删除的内容保存到剪贴板
2dd 重复dd命令2次,即删除两行并把删除的内容保存到剪贴板
5p 重复粘贴文本5次
移动
NG G大写,光标移动到第N行 或使用Ngg
:N 也是光标移动到第N行
gg 光标移动到第一行
G 光标移动到最后一行
d按单词移动
w 到下一个单词的开头
e 到下一个单词的结尾
w/e 小写,单词由字母、数字、下划线组成(如果你认为单词是默认方式,是由字母数字下划线组成,用e/w)
W/E 大写,单词包括blank字符分隔符(如果认为单词是由blank字符分隔符组成,用W和E)
% 匹配括号移动(光标要先移动到括号上)
打开一个VIM文件
vim 文件名
打开n个vim文件
vim 文件1 文件2 文件3….
打开后默认显示file1,切换方式,在正常模式输入:ls
行操作
home 或 ^ 到行首
end 或 $ 到行尾
dd 删除一行 ndd 删除n行 5dd 删除5行
yy 复制一行 nyy 复制n行 5yy 复制5行
p 将复制行(向下)粘贴 P将复制的行(向上)粘贴
删除到行首 d+home或^
删除到行尾 d+end或$
词操作
dw 删除一个词,删除时要将光标移动到这个词的词首,如果光标不在一个词的词首,则删除所在单词的光标后的字母。
yw 复制一个词
w 切换单词
块操作
D或d+$ 删除至行尾 d+^ 删除至行首
y+$ 复制至行尾 y+^ 复制至行首
V模式
进入V模式后,移动光标可以选择区域
以多行注释为例:
1.ctrl+v 进入到列块编辑模式
2.向上或向下移动光标选择需要注释的行
3.shift+I 并输入#
4.按ESC键,你所选择的区域在行首就被添加了#注释符,且退回到命令模式。
删除多行注释
1.ctrl+v进入列编辑模式。
2.向上或向下移动光标选择需要取消的注释
3.按d就会删除选中的注释符号。
vim 的命令行模式
:w 保存
:q 没有任何修改时退出。
:q! 修改了但不保存,强制退出。
:wq 保存并退出
:wq!强制保存并退出
保存还可以用 😡 或 ZZ
改光标所在的一个字符用 :r
替换
:%s/this/that 每一行的第一个this被替换成that
:%sthis/that/g 将文本中的所有this替换成that
:5,10 s/this/that/g 5到10行中所有的this被替换成that
:set nu 这个命令可以显示行号
斜杠/正向查找 :/target n往下查找 N往上查找

:noh 取消高亮显示
:!ifconfig 调用系统命令
vim中定位到某行
gg定位到行首
G定位到最后一行行首
6G定位到第6行
:6 定位到第6行
6gg 定位到第6行
读取其他文件
:r /etc/ssh/sshd_config.bak 读取/etc/ssh/sshd_config.bak文件
vim打开多个文件
vim -o /etc/passwd /etc/hosts 同时打开passwd和hosts,小写o上下分屏
vim -O /etc/passwd /etc/hosts 同时打开passwd和hosts,大写O左右分屏
ctrl+ww 在文件之间切换
部分素材来源于网络整合,侵删!
评论
还没有任何评论,你来说两句吧!