本文来源公众号“马哥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 !
文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。