vim编辑器笔记
vim 文本编辑器 vim是vi的增强版***
vim的三种工作模式
1.命令模式(默认):只能操作一些快捷键 例如复制,粘贴,删除…
2.编辑模式(插入模式):文字编辑
3.尾行模式(末行模式):高级操作 例如搜索,替换,设置…
#vim /tmp/pass --> 光标定位到编辑位置 --> a --> 写内容 --> Esc(回到命令模式) --> ZZ(保存退出)
光标定位
------光标的移动
上下左右方向键
------行内跳转
【Home】:快速移动到光标所在行的行首 ^(Shift+6)
【End】:快速移动到光标所在行的行尾 $(Shift+4)
------行间跳转
gg:快速移动到文本的行首
ngg:移动到第n行的行首 n表示数字
6gg:移动到第6行的行首
6G:移动到第6行的行首
G:快速移动到文本的末行
命令模式
复制 y
yy:复制光标所在行
nyy:复制光标所在行开始的n行
yw:复制一个单词,一定要从首字母复制,要不然就会复制光标所在位置的这个单词的部分,前面不会复制
粘贴:p
p:粘贴到光标所在行的下一行
P:粘贴光标所在行的上一行
注:如果是复制的是单词的时候p和P就没有区别,都是粘贴到光标所在位置的后面
只有复制的是整行或者整段的时候才有上一行和下一行的区别
删除 d
x:删除光标所在位置的字符
dw:删除光标所在位置的一个单词
d$:删除从光标所在位置的字符到行尾 D
d^:删除从光标所在位置的字符到行首
dd:删除光标所在行
ndd:删除从光标所在行开始的n行
dG:删除光标所在行到文本的末行
dgg:删除光标所在行到文本的第一行
剪切=删除+粘贴
撤销
u
反撤销(回滚)
Ctrl + r
替换
r 替换光标所在位置的一个字符
R 替换从光标所在位置的一串字符,直到按下[Esc]结束替换
保存退出
ZZ
:wq
命令模式进入编辑模式
a:在光标所在位置后插入
i:在光标所在位置前插入
o:在光标所在行的下一行插入新行
A:在光标所在行的行尾插入
I:在光标所在行的行首插入
O:在光标所在行的上一行插入新行
命令模式进入末行模式s w r q d y
: /
:q 不保存退出
:q! 强制退出
:w 保存
:w /tmp/newfile.txt 另存为
:wq 保存退出
:wq! 强制保存退出
:r /etc/fstab 将其他文件读入到本文件中光标所在行的下一行
:set nu 显示行号
:set nonu 取消行号
:set ts=4 设置Tab键的宽度为4个空格
:10,16d 删除第10行至16行
:5,8y 复制5至8行
vim的查找、搜索
/关键字
n:向下
N:向上
:noh 取消高亮
替换:%s/被替换的/替换成的/g
:s/old/new/ 替换光标所在行第一个被匹配到的关键字
:s/old/new/g 替换光标所在行所有被匹配到的关键字
:%s/bin/BIN/g 替换文件中所有被匹配到的关键字
% 所有行
g 一行的全局
:3,11s/bin/BIN/g 替换第3行至第11行中所有被匹配到的关键字
注:当想在文本的行首或者行尾插入东西的时候,可以用^表示行首,$表示行尾
例:3,11s/^/#/ 表示在3到11行的行首插入#
vim环境设置 /etc/vimrc 所有用户生效
# vim ~/.vimrc 只对当前用户生效
set nu
set ts=4
注:vim ~/.vimrc这个命令是只对当前用户有效,输入后会进入一个文本,在里面输入 set nu之后,所有的文本打开之后都是带行号的,如果不想带了就继续输入vim ~/.vimrc ,把之前输入的set nu删除即可恢复。
set ts是设置vim在插入模式下TAB键所空余的间隔是几个字符,set ts=4就表示一个TAB空余四个字符。