admin 管理员组

文章数量: 887021

本文来源公众号“马哥Linux运维”,仅用于学术分享,侵权删,干货满满。

原文链接:vim 简易上手笔记

vim的三种模式

1.命令模式

当您启动 Vim 时,您会进入命令模式。在此模式下,您可以执行各种操作,例如移动光标、删除、复制和粘贴。
常用命令:
i :切换到输入模式,开始输入文本。
x :删除当前光标所在处的字符。
: :切换到底线命令模式,在最底一行输入命令。
dd :剪切当前行。
yy :复制当前行。
:w :保存文件。
:q :退出 Vim 编辑器。
:e! :重新加载文件并丢弃当前所有的修改。

2.输入模式

在命令模式下按下 i 进入输入模式。在此模式中,您可以自由输入文本。
使用 Esc 键返回到命令模式。

3.扩展命令模式:

在命令模式下按下 : 进入底线命令模式。在此模式中,您可以输入单个或多个字符的命令。
常用命令:
w:保存文件。
q:退出 Vim 编辑器。
wq:保存文件并退出。
q!:强制退出 Vim 编辑器,不保存修改。
x: 写入并退出
X:加密
r file: 将其他文件读到当前文件中
——(5,10r file.txt) 将特定的字段读进来

w: 将当前文件写入另一个文件
!'命令':在当前文件使用命令
r!: 使用命令并读进来

地址定界:

”#“ 几行
“#,#“ #行到#结尾行
”#,+#“#行加到#行 (3,+2)3到5行
”.“ 当前行
.,$-1 当前行到倒数第二行
"%" 全文
"d" 删除 (3,5d)
"y" 复制粘贴 (3,7y) p粘到光标下方 P上方
”r“ 读 (3r)

/pattern/ 查找
/pat1/,/pat2/ 从pat1匹配到pat2
“#”,/pat/从指定行到pat2
/pat/, ”$“ 从pat到最后

查找:

s/查找内容/替换内容/修饰符

修饰符:

 i 忽略大小写
 g 全局
 gc 全局,每次替换询问

vim特性

配置文件:

/etc/vimrc 全局
~/.vimrc 个人
行号
set nu
set nonu
忽略字符大小写
set ic
set noic
自动缩进
set ai
set noai
复制保留格式
set paste
set nopaste
现实换行符和$显示
set list
set nolist
高亮搜索
set hlsearch
set nohlsearch
语法高亮
 syntax on
 syntax off
文件格式
 set fileformat=dos 启用windows
 set fileformat=unix 启用unix
 set ff=dos|unix
tab用空格代替
set et
set noet
tab指定空格个数
set ts=#
设置缩进宽度
“>>” 右缩进
”<<“ 左缩进
set shiftwidth=# 设置缩进字符
设置文本宽度
set textwidth=# 从左向右
set warpmargin=# 相反
设置光标所在行标识线
set cul
set nocul
加密
set key=passwd
set key=
帮助
help option-list
set or:set all

vim打开文件常用选项:

	+# 打开文件,光标处于#行,+默认行尾
	+#/PATTERN  光标处于PATTERN匹配的行首
	-b file 二进制打开
	-d file1 file2 比较多个文件
	-m file 只读打开
	-e file  ex模式

命令模式指令

光标跳转
1. 字符间跳转
向上移动	k	将光标向上移动一行

向下移动	j	将光标向下移动一行

向左移动	h	将光标向左移动一个字符

向右移动	l	将光标向右移动一个字符
2. 单词间跳转
b	光标后退到前一个单词的开头
w	光标前进到下一个单词的开头
e	当前或下一个单词词尾
3.行间跳转
行间跳转	0	移动到当前行的行首
$	移动到当前行的行尾
gg	移动到文件的开头
G	移动到文件的结尾
4.句间移动
) 下一句 (带shift)
( 上一句 (带shift)
5.翻页
Ctrl + f	将光标移动到下一页的开头
Ctrl + b	将光标移动到上一页的开头
行首行尾跳转	0	将光标移动到当前行的开头
$	将光标移动到当前行的结尾
6.段落间移动
下一段落开头	}	将光标移动到下一个段落的开头
上一段落开头	{	将光标移动到上一个段落的开头
7.翻屏操作
Ctrl + d	向下滚动半屏
Ctrl + u	向上滚动半屏
Ctrl + f	向下滚动一页
Ctrl + b	向上滚动一页
字符编辑
替换单个字符
rx	将光标所在位置的字符替换为 x
删除单个字符
x	删除光标所在位置的字符
X	删除光标前一个字符
dw	向后删除单词
db	向前删除单词
d$	删除至行尾
改变单个字符
rx	替换光标所在位置的字符为 x
cw	改变当前单词
c$	删除至行尾并进入插入模式
复制粘贴
yy	复制当前行的字符
p	在光标后粘贴复制的字符
P	在光标前粘贴复制的字符
大小写切换	~	切换光标处字符的大小写
撤销操作
u	撤销上一次操作
Ctrl + r	重做上一次撤销的操作
高级用法
0 先到行头
y 先从这里开始
$ 拷贝到本行最后一个字符
	100izz [ese] (先在命令模式下输入不进入扩展命令输入100后进入插入模式写入zz然后使用ese进入命令模式)
可视化模式
进入可视化模式
v	进入字符级别的可视化模式
V	进入行级别的可视化模式
Ctrl + v	进入块级别的可视化模式
选择文本
移动光标	使用上下左右箭头键选择文本
w	逐词选择文本
W	逐词(以空格为分隔符)选择文本
b	逐词向前选择文本
B	逐词向前(以空格为分隔符)选择文本
e	逐词向后选择文本
E	逐词向后(以空格为分隔符)选择文本
复制选中的文本
y	复制选中的文本
剪切选中的文本
d	剪切选中的文本
粘贴文本
p	在光标后粘贴文本
P	在光标前粘贴文本
撤销操作
u	撤销上一次操作
重做操作
Ctrl + r	重做上一次撤销的操作
多文本模式
水平分割窗口	:split	在水平方向上分割窗口
垂直分割窗口	:vsplit	在垂直方向上分割窗口
切换窗口焦点	Ctrl + w	切换窗口焦点到下一个窗口
关闭当前窗口	:q	关闭当前窗口
关闭其他窗口	:only	关闭除当前窗口外的其他窗口
水平调整窗口尺寸	Ctrl + w +/-	增加或减少当前窗口的高度
垂直调整窗口尺寸	Ctrl + w >/<	增加或减少当前窗口的宽度
同步滚动	:set scrollbind	开启同步滚动
关闭同步滚动	:set noscrollbind	关闭同步滚动
切换布局	Ctrl + w r	在水平和垂直布局之间切换
打开新标签页	:tabedit	在新标签页中打开文件
在新标签页中打开新文件	:tabnew	在新标签页中打开新文件
切换标签页	gt	切换到下一个标签页
关闭当前标签页	:tabclose	关闭当前标签页
关闭其他标签页	:tabonly	关闭除当前标签页外的所有标签页

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

本文标签: 上手 简易 笔记 Linux 马哥