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介绍

vim发展过程:

1969年,[Ken Thompson](https://baike.baidu.com/item/Ken Thompson)(后被称为UNIX之父)和Dernis Ritchie将“星际旅行”的运行到PDP-7上,到了1970年,PDP-7当时运行的MULTICS操作系统被戏称为:“UNIX”

请添加图片描述

到了1976,[Bill Joy](https://baike.baidu.com/item/Bill Joy)一开始开发了对用户更友好、支持更多命令的ed——ex(ed extended)。紧接着,他同Chuck Haley一起为ex开发了ex的visual interface [3] ,也就是后来的vi。1979年,vi正式采用了vi这个名字,并沿用至今。

请添加图片描述

Bram Moolenaar 在 80 年代末购入他的Amiga计算机时,Amiga 上没有他最常用的编辑器vi。Bram 从一个开源的 vi 复制 Stevie 开始,开发了 Vim 的 1.0 版本。最初的目标只是完全复制 vi 的功能,那个时候的 Vim 是Vi IMitation(模拟)的简称。1991 年 Vim 1.14 版被 “Fred Fish Disk #591” ——Amiga 用的免费软体集收录了。1992 年 1.22 版本的 Vim 被移植到了 UNIX 和MS-DOS上。从那个时候开始,Vim 的全名就变成 Vi IMproved(改良)了。

请添加图片描述

二.vim使用

1.vim三种模式

请添加图片描述

命令模式下还有很多其他的命令:

^	非空格行首
0   行首
$	行尾
w 	下个单词词首
e	下个单词词尾
b	上个单词词首
(  )	句子移动
{  }	段落移动
H	屏幕顶部
M	屏幕中间
L	屏幕底部
%	跳转到匹配的括号
^f    	向下移动一屏
^b		向上移动一屏	(^代表 ctrl 键)
^d   	向下移动半屏	
^u		向上移动半屏
^e    	向屏幕顶端多滚动一行
^l		向屏幕底端多滚动一行
.	执行上一条命令

末行模式下的替换:

语法规则:

:[range]s/{pattern}/{string}/[flags]

range	表示范围 
1 表示文件第一行 
$ 表示文件最后一行 
. 表示光标所在行 
% 整个文件(:1,$ 的简写)

flags	标识   
g 表示全局范围  
c 表示选择替换(y 替换、n 不替换、q 退出替换过程、l 替换此处后退出、a 替换此处和之后所以的地方) 
n 不会替换,只返回替换的次数

例如:
	:%s/^/#/g	快速全文注释
	:%s/$/;/g	每行末加上 ;

2.vim增删改查

基本命令:

yy	复制当前行
3yy	复制3行
p	粘贴
yw	复制一个单词
y$	复制当前到行尾
y0	复制当前到行首

:x,ycoz
:x,ymz
x,y,z都是行号。x到y被复制或移动,插入到z行的下面
:m删除源行,:co不删除原始行

基本命令:

dd	删除当前行
ndd	删除n行
dw	删除一个单词
x	删除当前字符
X	删除前一个字符
D	删除当前到行尾
J	删除换行符

基本命令:

r	替换一个字符
R	替换多个字符
s	
替换当前字符,并进入插入模式
C
替换当前行到末尾的所有字符
S 或 CC
以插入的方式替换当前行

基本命令:

空格	向前搜索
?	向后搜索
n	重复/或?,方向相同
N	重复/或?,方向相反
*	向下搜索光标所在字符串
#	向上搜索光标所在字符串
%	搜索与当前花括号、圆括号、方括号成对的符号

3.vim寄存器

Vim有多个寄存器:

:reg 查看寄存器内容

这个寄存器就相当于多个粘贴板, Vim提供了 a-z 26个命名寄存器, 0-9 10个数字寄存器,还有一些特殊寄存器

使用寄存器:

复制:

? “{register}y 来复制内容到寄存器 {register} 中 例如: 3”ayy 复制3行到寄存器 a 中

粘贴:

? “{register}p 来粘贴寄存器 {register} 中的内容 例如:”ap
特殊寄存器:

匿名寄存器: ”a-”z 使用复制删除等命令时,都会放入匿名寄存器
编号寄存器: “0-”9 0保存复制的字符串, “1-”9保存着删掉的内容

4.vim设置

:set all		显示所有选项的值
:set option?	显示一个选项的值,例:   :set  fileencoding

常见设置:
:set nu		显示行号
:set ai		自动缩进
:set list	显示非打印字符,如tab、空格、行尾

如果是永久的配置,可以在用户的家目录下修改  .vimrc 

Vim打开文件:
vim –u NONE –N 	出厂配置,其中 –u NONE 不加载vimrc,-N不进入兼容模式
vim +[num] file	打开文件,并将光标置于第n行首	
vim + file		打开文件,并将光标置于最后一行首
vim –R file	只读模式打开文件
  开发工具 最新文章
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常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:44:21  更:2022-07-17 16:46:34 
 
开发: 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年5日历 -2024/5/18 14:39:45-

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