vim常用命令

1、复制
①单行复制
ESC进入命令模式,将光标移动到要复制的行,“yy”进行复制;
②多行复制
ESC进入命令模式,将光标移动到要复制的行的第一行,按“nyy”复制 n行;其中n为1、2、3……

2、粘贴
ESC进入命令模式,将光标移动到将要粘贴的行处,按“o”另起一行,相当于Tab键,然后按“p”进行粘贴

3、删除
①快速删除当前行:
ESC进入命令模式:光标移动到某行上,命令:dd 删除当前行。
②多行删除:
ESC进入命令模式:set nu,显示行号;输入命令 :10,20d 代表删除第10-20行。
③另外
x 删除当前光标下的字符
dw 删除光标之后的单词剩余部分。
d$ 删除光标之后的该行剩余部分。

4、撤销操作
按“u” 撤销上一步的操作 (等同于windows中 Ctrl+Z)
按“Ctrl+r” 恢复上一步被撤销的操作

5、/ ? 查找命令
/word 向下查找word字符串
?word向上查找word字符串
组合查找
n: 代表重复前一个查找的操作
N:反向进行前一个查找操作

6、s/old/new/g替换命令

行间查找
在第n1和n2行查找word1并替换为word2
:n1,n2s/word1/word2/g
举例: :100,200s/vbird/VBIRD/g
全文查找并替换
:1, s / w o r d 1 / w o r d 2 / g 从 第 一 行 到 最 后 一 行 查 找 字 符 串 w o r d 1 字 符 串 , 并 将 字 符 串 w o r d 1 替 换 为 w o r d 2 用 户 确 认 替 换 提 示 : 1 , s/word1/word2/g 从第一行到最后一行查找字符串word1字符串,并将字符串word1替换为word2 用户确认替换提示 :1, s/word1/word2/gword1word1word2:1,s/word1/word2/gc
从第一行到最后一行查找字符串word1,并将字符串word1替换为word2,在替换之前提示用户确认是否替换

7、多文件编辑
使用vim编辑多个文件
进入vim前有多个参数,vim 1.txt 2.txt=>这是默认进入1.txt
命令模式:n跳转进入2.txt :n!=>强制转换不保存
进入vim后,打开新文件
命令行模式下:
命令 说明
:e 3.txt 打开新文件3.txt
:e! 4.txt 新打开4.txt,放弃正在编写的文件
:e# 打开前一个文件
:ls 列出以前编辑过的文档
:b 2.txt 直接进入2.txt
:bd 2.txt 删除以前编辑过的列表中的文件项目
:f 显示正在编辑的文件名
:f new.txt 将当前的文件名改为new.txt

8、另存为
首先需要按ESC键回到命令模式;
然后输入命令:w fileName,文件不存在会自动新建文件。

用法示例:
另存为文件为temp.cpp
:w /home/youname/temp.cpp
文件就会默认保存在当前工作路径。
注意:要确保你的文件路径是存在的,否则是保存不成功的

1 删除命令

2 常用的删除组合命令
说明:操作符命令+位移命令
1 nx      删除多个字符(n为删除的字符个数)
2 dw      删除1个单词
3 d10w      删除10个单词
4 d10W     删除10个单词,忽略标点符号。
5 db      向后删除一个单词
6 d2)      删除两个句子
7 d5}     删除5个段落
8 dG 或 :., d       删 除 当 前 行 到 编 辑 缓 冲 区 末 尾 的 所 有 行 9 d g g 或 d 1 G 或 : 1 , . d 删 除 当 前 行 到 编 辑 缓 冲 区 开 头 的 所 有 行 10 : 1 , d      删除当前行到编辑缓冲区末尾的所有行 9 dgg 或 d1G 或:1,.d 删除当前行到编辑缓冲区开头的所有行 10 :1, d   9dggd1G:1,.d10:1,d 或 :%f 删除整个编辑缓冲区
11 d/word 删除从光标所在位置到单词word的所有文本
12 .,/word/d      删除从光标所在位置到单词word的所有文本
13 df x      删除至当前行中x所在的位置
14 d^      删除至该行的开始处
15  :g/^ / d               删 除 文 件 中 所 有 空 行 3 插 入 模 式 中 删 除 操 作 U 删 除 当 前 行 H 删 除 前 一 个 字 符 W 删 除 前 一 个 词 4 撤 销 或 重 复 改 变 v i 命 令 : 1 u 撤 销 上 一 命 令 对 编 辑 缓 冲 区 的 修 改 2 U 恢 复 当 前 行 ( 即 一 次 撤 销 对 当 前 行 的 全 部 操 作 ) 3. 点 号 重 复 上 一 命 令 对 编 辑 缓 冲 区 的 修 改 5 恢 复 删 除 语 法 : " 1 p ( P ) 说 明 : 11 为 缓 冲 区 的 编 号 。 2 p 在 当 前 行 的 下 面 插 入 , P 在 当 前 行 的 上 面 插 入 。 6 复 制 上 一 次 删 除 命 令 说 明 p 复 制 上 一 次 删 除 的 内 容 , 插 入 到 光 标 的 后 面 / 下 面 P 复 制 上 一 次 删 除 的 内 容 , 插 入 到 光 标 的 前 面 / 上 面 7 其 它 有 用 的 一 些 删 除 删 除 行 尾 多 个 空 格 :     : /d        删除文件中所有空行 3插入模式中删除操作 ^U 删除当前行 ^H 删除前一个字符 ^W 删除前一个词 4 撤销或重复改变 vi命令: 1 u 撤销上一命令对编辑缓冲区的修改 2 U 恢复当前行(即一次撤销对当前行的全部操作) 3 .点号 重复上一命令对编辑缓冲区的修改 5 恢复删除 语法:"1p(P) 说明: 1 1为缓冲区的编号。 2 p在当前行的下面插入,P在当前行的上面插入。 6 复制上一次删除 命令 说明 p 复制上一次删除的内容,插入到光标的后面/下面 P 复制上一次删除的内容,插入到光标的前面/上面 7其它有用的一些删除 删除行尾多个空格 :   :%s/\s\+ /d       3UHW4vi1u2U3.5"1p(P)112pP6p/P/7:  ://g
删除行首多个空格 :   :%s/^\s*//g
删除重复行:    :%s/^(.*)n1/1$/
删除所有中文:    :%s/\v[^\x00-\xff]+//g
删除所有数字:    :%s/\d//g

1.VI对行的概念相当严格,通常不可能把光标移到行尾,再删除行尾结束符(回车符)来连接当前行和它下面的一行,VI提供一个特定的命令,大写的J用来将行和行连接起来. 小写的 j 用来移动光标.
2.查找和替换
查找一行
使用f命令查找一行,移动光标到下一个所指定的字符上.

fa //在同一行中找下一个出现a的位置,通过分号来重复这个查找 ,
//只能单个字查询,可以查询中文

查找全文,的短语
移动光标到下一个出现的单词或短语上,使用 / 命令。这个命令和我们之前在 less 程序中学到 的一样。当你输入/命令后,一个”/”字符会出现在屏幕底部。下一步,输入要查找的单词或短语后, 按下回车。通过n来继续查找

替换
vi使用ex命令来执行查找和替代操作,把文件中的单词”Line” 更改为”line” ,输入一下命令:

:%s/Line/line/g
1
条目 含义
: 冒号字符运行一个 ex 命令。
% 指定要操作的行数。% 是一个快捷方式,表示从第一行到最后一行。另外,操作范围 也可以用
1,5 来代替(因为我们的文件只有5行文本),或者用 1,$ 来代替,意思是 “ 从第一行到文件的最后一行。” 如果省略了文本行的范围,那么操作只对当前行生效。
s 指定操作。在这种情况下是,替换(查找与替代)。
/Line/line 查找类型与替代文本。
g 这是“全局”的意思,意味着对文本行中所有匹配的字符串执行查找和替换操作。 如果省略 g,则 只替换每个文本行中第一个匹配的字符串。
在g后面添加一个c用来在确认的时候进行确认
替换确认按键

按键 行为
y 执行替换操作
n 跳过这个匹配的实例
a 对这个及随后所有匹配的字符串执行替换操作。
q or esc 退出替换操作。
l 执行这次替换并退出。l 是 “last” 的简写。
Ctrl-e, Ctrl-y 分别是向下滚动和向上滚动。用于查看建议替换的上下文。

3.编辑多个文件 vi file1 file2 file3

4.文件间的转换
使用ex命令
:n //装换到下一个文件
:N //转换到上一个文件
:buffers //显示出正在编辑的文件列表
:Buffer 缓冲区号码 //切换文件

5.将一个文件复制内容到另一个文件
使用复制,然后打开另一个文件,粘贴过去就可以啦

6.插入整个文件到另一个文件
在指定行上,使用ex命令
:r foot.txt //要粘贴进来的文件

7.保存工作
-在命令模式下 使用ZZ就会保存退出,
-使用ex命令, :wq 保存退出
:w命令也可以指定可选的文件名, 类似于 save as ,保存一个副本

:w foo1.txt
注意:当上面的命令以一个新名字保存文件时,但它并没有更改你正在编辑的文件的名字。 如果你继续编辑的话,你还是在编辑文件 foo.txt,而不是 foo1.txt。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值