IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> VIM文本编辑器 -> 正文阅读

[开发工具]VIM文本编辑器

vim +# ?打开文件后,让光标处于第#行的行首,+默认行尾
? ? +/正则表达式 ?打开文件后,让光标处于匹配正则表达式的行首
? ? -b 二进制方式打开文件
? ? -d 比较多个文件
? ? -m 只读打开文件
? ? -e 直接进入ex模式


三种主要的模式:
?命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本
?插入(Insert)模式或编辑模式:修改文本
?扩展命令(extended)模式:保存,退出
Esc键,退出当前模式
2次Esc键,返回到命令模式

模式切换
插入→命令 ?Esc
命令→扩展 ?:
扩展→命令 ?Esc
命令→插入 ?i


扩展模式:
q ? 退出
q! ?强制退出
wq ?保存退出
x ? 保存退出
d ? 删除
y ? 复制
p ? 粘贴
r file ?读file内容追加到当前文件中
w file ?将当前文件内容写入另一个文件,另存为
!CMD ? ?执行命令
r!CMD ? 读入命令的输出
# ? ? ?第#行
#,# ? ?从第#行到第#行
#,+# ? 2,,+3 表示第2行到第5行
. ? ? ?当前行
$ ? ? ?最后一行
% ? ? ?全文
/part1/,/part2/ ? part1匹配至part2匹配
/ ? 从光标所在处向尾部查找
? ? 从光标所在处向首部查找
n ? 与命令同方向移动
N ? 与命令反方向移动
s@查找的内容@替换的内容@修饰符(不加修饰符,默认替换每行第一个)
? ? ? ? ? ? ? ? ? ? ? ?i:忽略大小写
? ? ? ? ? ? ? ? ? ? ? ?g:全局替换
? ? ? ? ? ? ? ? ? ? ? ?gc:全局替换,替换前询问


命令模式:
ZZ ? 保存退出
ZQ ? 不保存退出
i ? ?在光标处输入
x ? 剪切光标处的字符
#x ?删除光标处起的#个字符
xp ?光标处前后字符换位
p ? ?粘贴,下方
P ? ?粘贴,上方
u ? 撤销
#u ?撤销#次
U ? 撤销到最早状态
ctrl+r 撤销最后的“撤销”
. ? ?重复前一个操作
#. ? 重复前一个操作#次
~ ? ?转换大小写
J ? ?合并光标所在行和下一行
r ? ?修改光标所在处字符
R ? ?切换到REPLACE模式
d$ 删除到行尾,=D ?
d^ 删除到非空行首 ?
d0 删除到行首 ?
dw 删除到下一个单词的词首
de 删除到下一个单词的词尾 ?
db 删除到前一个单词的词首 ?
dd 删除整行 ?
#dd 删除#行
y$ ? 复制到行尾,=Y
y^ ? 复制到非空行首
y0 ? 复制到行首
yw ? 复制到下一个单词的词首
ye ? 复制到下一个单词的词尾
yb ? 复制到前一个单词的词首
yy ? 复制整行
#yy ?复制#行
c$ ?删除到行尾并切换到插入模式,=C
c^ ?删除到非空行首切换到插入模式
c0 ?删除到行首切换到插入模式
cw ?删除到下一个单词的词首切换到插入模式
ce ?删除到下一个单词的词尾切换到插入模式
cb ?删除到前一个单词的词首切换到插入模式
cd ?删除整行切换到插入模式
#cc 删除#行切换到插入模式

d删除、y复制、c删除切换,配合跳转使用
字符间跳转 ?h:左 ?l:右 ?j:下 ?k:上 ?#h,l,j,k 跳转到#指定的个数的字符
单词间跳转 ?w:下一个单词的词首
? ? ? ? ? ?e:下一个单词的词尾
? ? ? ? ? ?b:前一个单词的词首
? ? ? ? ? ?#w,e,b:由#指定一次跳转的单词数
当前页跳转 ?H:页首 ? M:页中间 ? L:页底 ??
行首行尾跳转 ?0:行首 ? $:行尾 ? ^:行首的第一个非空字符
行间移动 ?#G:跳转到#指定行 ? ?G:最后一行 ? ?gg:第一行
句间移动 ?):下一句 ? ?(:上一句
段落间移动 ? }:下一段 ? ? {:上一段
ctrl+f:向文件尾部翻一页 ? ctrl+b:向文件首部翻一页 ??
ctrl+d:向文件尾部翻半页 ? ctrl+u:向文件首部翻半页

start CMD end
CMD:y,d,gU变大写,gu变小写
例子0y$
0→先到行首
y→从这里开始拷贝
$→拷贝到本行最后一个字符

100iwang[ESC]粘贴“wang”100次


插入模式:
I ? ?光标所在行的行首输入
a ? ?光标后面输入
A ? ?光标所在行的行尾输入
o ? ?光标的下方打开新一行
O ? ?光标的上方打开新一行


可视化模式(命令模式下操作)
v ? 面向字符
V ? 面向行
ctrl+v ?面向块


多文件显示
vim file1 file2
:next ? 下一个
:prev ? 前一个
:first ?第一个
:last ? 最后一个
:wall ? 保存所有
:qall ? 退出所有
:wqall

多文件窗口分屏
vim -o file1 file2
o ?水平分割
O ?垂直分割 ?
切换窗口:ctrl+w+方向键

单文件窗口分屏
ctrl+w+s ?水平分割
ctrl+w+v ?垂直分割
ctrl+w+q ?取消相邻窗口
ctrl+w+o ?取消全部窗口


寄存器
有26个命令寄存器和1个无命名寄存器,常存放不同的剪贴板内容,可以不同会话间共享
寄存器名字a,b,..,z格式:"寄存器 放在数字和命令之间
? ?如:3"tyy 表示复制3行到t寄存器中
? ? ? ?"tp ? 表示将t寄存器内容粘贴
未指定,将使用无命名寄存器
有10个数字寄存器,用0,1,..,9表示,0存放最近复制内容,1存放最近删除内容,当新的文本
变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享


定制vim工作界面:
全局:/etc/vimrc ? 个人:~/.vimrc
1)行号
显示:set nu
不显示:set nonu
2)忽略大小写
启用:set ic
不忽略:set noic
3)自动缩进
启用:set ai
禁用:set noai
4)只能缩进
启用:set si
禁用:set nosi
5)高亮搜索
启用:set hlsearch
禁用:set nohlsearch
6)语法高亮
启用:syntax on
禁用:syntax off
7)显示Tab和换行符
启用:set list
禁用:set nolist
8)设置光标所在行的标示线
启用:set cul
禁用:set no cul
9)复制保留格式
启用:set paste
禁用:set nopaste
10)文件格式
Windows:set ff=dos
Unix: ? set ff=unix

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:18:53  更:2021-08-26 12:20:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:40:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码