vim编辑器干货
- vi 编辑器
- vim:vi Improved vi的扩展
- 打开文件
- vim的工作模式
- vim默认工作于编辑模式
- vim工作模式的转换
- 关闭文件
- 一,末行模式关闭文件
- 二,编辑模式关闭文件
- 三,移动光标
- 四,翻屏
- 五,删除单个字符
- 六,删除命令:d
- 删除命令使用地址需在末行模式下:
- 七,粘贴命令 p
- 八,复制命令 y
- 九,修改命令 c
- 十,替换命令 r
- 十一,撤销编辑操作 u
- 十二,撤销最近一次撤销操作 Ctrl+r
- 十三,重复前一次编辑操作 .
- 十四,可视化模式
- 十五,查找
- 十六,查找并替换
- 练习
- 十七,编辑多个文件
- 十八,分屏显示某个文件
- 十九,分屏显示多个文件
- 二十,将文件一部分保存为另一个文件
- 二十一,将另外的文件填充到正在编辑的文件
- 二十二,和shell交互
- 二十三,高级话题
- vim编辑配置文件
- vimtutor 命令
- vim非法退出处理
vi 编辑器
vi:Visual Interface 可视化接口,遵循GPL协定的软件,体积小功能强大
vim:vi Improved vi的扩展
vim 的一个重要特性:语法着色
vim属于全屏编辑器,模式化编辑器,不同模式vim对键盘的理解不一样。
打开文件
# vim /path/to/somefile #打开文件
# vim +n /etc/inittab #打开是处于某一行(n)
# vim + /etc/inittab #处于文件最后一行,一个+,不跟数字
# vim +/PATTERN /etc/inittab #打开文件,定位至第一次被PATTERN匹配到的行
vim的工作模式
编辑模式(命令模式)
复制、粘贴、删除
输入模式
大多数敲键动作被当做文本输入动作,输入文本
末行模式(底线命令模式)
可以输入很多除了编辑命令外的文件管理命令
vim默认工作于编辑模式
vim工作模式的转换
编辑-->输入:
i :在当前光标做在字符前面转换为输入模式
a:在当前光标做在字符后面转换为输入模式
o:在当前光标所在行的下方,新建一行,并转换为输入模式
I:在当前光标做在行的行首转换为输入模式
A:在当前光标做在行的行尾转换为输入模式
O:在当前光标所在行的上方,新建一行,并转换为输入模式
输入-->编辑:
ESC
编辑-->末行:
:
末行-->编辑:
ESC,ESC
关闭文件
一,末行模式关闭文件
:q 退出,不保存内容
:wq 保存并退出
:q! 不保存退出
:w 保存
:w! 强制保存
:wq --> :x 保存退出
二,编辑模式关闭文件
ZZ 保存并退出
三,移动光标
1,逐字移动:
h:左
i:右
j:下
k:上
#h 向左移动#个字符
2,以单词为单位移动
w:移动到下一个单词词首
e:跳至当前或下一个词词尾
b:跳至当前或前一个单词词首
#w 移动#个单词
3,行内跳转
0 跳至行首 绝对行首,包括空白字符
^ 跳至行首(第一个非空白字符所在位置)
$ 跳至行尾 绝对行尾
4,行间跳转
#G 跳转至第#行
G 跳转至最后一行
末行模式下,直接给出行号回车即可
四,翻屏
Ctrl + f 向下翻一屏
Ctrl + b 向上翻一屏
Ctrl + d 向下翻半屏
Ctrl + u 向上翻半屏
五,删除单个字符
x 删除光标所在处的单个字符
#x 删除光标所在处及向后的共#个字符
六,删除命令:d
d命令和跳转命令配合使用
#dw,#de,#db
eg: 3dw 删除光标及后共3个单词
dd 删除当前光标所在行
#dd 删除光标及下面共#行
删除命令使用地址需在末行模式下:
StartADD,EndADDd
:. 点,表示当前行
:#,#d
:.,$d 删除当前行到末行
:.,$-3d 删除当前行至倒数第2行
:1,8d 删除1-8行
七,粘贴命令 p
p 小写p,如果删除的或者复制的为整行内容,则粘贴至光标所在行的下方;如果复制或删除的内容为非整行,则粘贴在光标所在字符的后面
P 大写P,如果删除的或者复制的为整行内容,则粘贴至光标所在行的上方;如果复制或删除的内容为非整行,则粘贴在光标所在字符的前面
八,复制命令 y
用法同d命令
yy
3yy
末行:
1,100yy
九,修改命令 c
change
先删除内容,再转换为输入模式
c 用法同d命令
c$ 删除光标所在位置至行末的内容后进入输入模式
十,替换命令 r
replace
r 只用于替换单个字符
6rf 将光标及后面共6个字符都替换为f
十一,撤销编辑操作 u
undo
u 撤销前一次操作
连续u可撤销此前连续操作,vim默认保存50此编辑历史
#u明确撤销最近#此编辑操作
十二,撤销最近一次撤销操作 Ctrl+r
restore
还原最近一次撤销操作
十三,重复前一次编辑操作 .
.点命令,重复前一次的编辑操作
十四,可视化模式
v 小写v,按字符选取光标划过的内容
V 大写V,按矩形块选取光标划过的内容
十五,查找
支持正则表达式
/PATTERN
向文件尾部查找
?PATTERN
向文件首部找
n 下一个匹配到的结果
N 上一个被匹配到的结果
十六,查找并替换
在末行模式下使用s命令完成
ADDR1,ADDR2s@PATTERN@string@gi
g全局
i忽略大小写
% 表示全文查找并替换
:.,$-1s/he/HE/g #将当期行到倒数第二行的所有he替换为HE.
回忆sed?
练习
将/etc/yum.repo.d/server.repo文件中的ftp://instructor.example.com/pub替换为http://172.16.0.1/yum
答:
%s/ftp:\/\/instructor.example.com/pub/http:\/\/172.16.0.1/yum/gi 或者
%s@ftp://instructor.example.com/pub@http://172.16.0.1/yum@gi
十七,编辑多个文件
如何打开多个文件?
vim file1 file2
默认打开第一个文件
在末行模式下:
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 第一个文件
:qa 退出全部文件
十八,分屏显示某个文件
Ctrl + w , s 先按下Ctrl + w,松开再按下s键,实现水平分割窗口
Ctrl + w , v 先按下Ctrl + w,松开再按下v键,实现垂直分割窗口
在窗口之间切换光标
Ctrl + w , ARROW 上下左右箭头键
:q退出某个分屏
:qa直接退出文件
十九,分屏显示多个文件
打开文件时-o选项
vim -o /etc/fstab /etc/passwd #小写o水平分屏
vim -O /etc/fstab /etc/passwd #大写o垂直分屏
二十,将文件一部分保存为另一个文件
:ADD1,ADD2w /another/file
二十一,将另外的文件填充到正在编辑的文件
:r /another/file
二十二,和shell交互
:! COMMAND
回车后继续执行当前编辑任务
二十三,高级话题
1,显示或取消行号 #只对当前vim进程有效
:set number
:set nu #显示
:set nonu #不显示 只对当前vim进程有效
2,忽略大小写
:set ignorecase
:set ic
:set noic
3,设定自动缩进
下一行与上一行缩进相同
:set autoindent
:set ai
:set noai
4,查找到的文本高亮显示
:set hlsearch
:set nohlsearch
默认高亮
5,语法高亮
:syntax on
:syntax off
默认开启着色
vim编辑配置文件
全局/etc/vimrc
当前用户~./.vimrc #没有可以自己创建
vimtutor 命令
linux自带,用于学习vim
vim非法退出处理
当非法退出vim时,在之前编辑的文件所在目录下会生成file.swp 文件,用于恢复数据
在确保数据恢复后即可手动删除file.swp文件
本文围绕Linux系统下的vim编辑器展开,介绍了其基本概念,如vim是vi的扩展且具备语法着色特性。详细阐述了vim的工作模式、模式转换方法,还讲解了文件的打开、关闭操作,以及光标移动、翻屏、删除、粘贴、复制等编辑命令,同时提及高级设置和非法退出处理等内容。

被折叠的 条评论
为什么被折叠?



