当前位置: 首页 > news >正文

vim简单的文本编辑命令

<blockquote>:e! enter</blockquote>
消除所有这次编辑的,回到原来文件的样子。不过此文件还是打开状态.
<blockquote>:q! enter</blockquote>
消除所有的编辑,回到原来文件的样子,并且离开vim.
<blockquote>:w! filename

:w! newfilename</blockquote>
如果文件存在,则覆盖现有的文件,如果文件不存在,则创建新文件,并且将内容写入新文件里面。
<blockquote>hjkl</blockquote>
上下左右移动。

&nbsp;

在一行中移动:
<blockquote>0 移动到一行的开头

$ 移动到一行的结尾

w e b 词的移动</blockquote>
更改文本:
<blockquote>cw 从光标到这个单词的结尾更改

c2b 从光标往前2个单词

c$ 从光标到本行结尾

c0 从光标到本行开头

c^ 从光标到本行开头不是空格的地方

cc 整一行的内容更改,原来光标位置并不重要,它会直接换掉整行文本</blockquote>
vi命令的一般形式:
<blockquote>(command)(text object)

(command)(number)(text object)

(number)(command)(text object)

command 部分是更改命令c,d,y等

text object 则是光标移动命令w,b,0,$等

number 则是数字</blockquote>
字符的更改:
<blockquote>r 把一个字符替换成另一个,结束不需要按ESC。

x 把一个字符删除

5x 删除5个字符

xp 交换两个字符

~ 更改大小写</blockquote>
删除命令:
<blockquote>dw 删除光标位置的单词,单词后的空白也会被删除

db 向前删除一个单词

d$ d0

dd 删除整行

2dd 删除2行

D=d$ 删除光标到整行最后</blockquote>
移动文本,在vi中采用“删除后再置放文本”的方法使文本移动,就像使用“剪切与粘帖”一样。
<blockquote>p put 将缓冲区的文本放在光标后,大写的P命令则把文本放置在光标前。如果你移动了一行以上的文本,p命令把移动的文本放在光标后的新一行,如果你移动的文本不到一行,p命令把移动的文本放在光标之后的同一行上。

y yank 将一段文本复制下来再于别的地方使用,yp 可以与任何移动命令使用,比如yw,y$,4yy</blockquote>
重复一条命令:
<blockquote>.  句号来重复前一编辑命令</blockquote>
撤销一条命令:
<blockquote>u 撤销上一条命令</blockquote>
&nbsp;

更多插入文本的方法:
<blockquote>A 在一行的结尾处附加文本

I 在一行的开头处插入文本

o 在光标所在位置的下一行打开新行

O 在光标所在位置的上一行打开新行

s 删除光标所在位置的字符后再替换文本

S 删除一整行后再替换文本

R  用新的字符覆盖现有的字符</blockquote>
插入命令的数值参数:
<blockquote>50i*ESC 插入50个星号

25a*.ESC 插入25对 *.</blockquote>
&nbsp;
<blockquote>J 合并两行</blockquote>

转载于:https://www.cnblogs.com/liweilijie/p/4984595.html

相关文章:

  • 【BZOJ】2879: [Noi2012]美食节
  • gulp 教程
  • 虚拟化之vmx配置文件
  • 致北京
  • 二进制方式快速安装MySQL数据库
  • 沙盒 文件操作
  • PHP上传(单个)文件示例
  • UESTC 1246 拆x3
  • 积分显示算法(4.34.5 4.14 4.65)
  • linux中ssh免密码登录
  • postgresql cluster和correlation
  • 有限概率(拉普拉斯概率)
  • Android Stduio统计项目的代码行数
  • struts2获取web元素(request、session、application)
  • DVWA系列之4 利用SQLMap进行medium级别注入
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【css3】浏览器内核及其兼容性
  • 2017-08-04 前端日报
  • Android框架之Volley
  • HTTP中的ETag在移动客户端的应用
  • Java深入 - 深入理解Java集合
  • Linux Process Manage
  • Linux快速复制或删除大量小文件
  • Lucene解析 - 基本概念
  • nginx 负载服务器优化
  • PHP CLI应用的调试原理
  • socket.io+express实现聊天室的思考(三)
  • 初探 Vue 生命周期和钩子函数
  • 理清楚Vue的结构
  • 深入浅出webpack学习(1)--核心概念
  • 栈实现走出迷宫(C++)
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (9)目标检测_SSD的原理
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)fiber的基本认识
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (译) 函数式 JS #1:简介
  • (转)Linux下编译安装log4cxx
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • *1 计算机基础和操作系统基础及几大协议
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 分布式技术比较
  • @Autowired和@Resource的区别
  • @取消转义
  • [20171106]配置客户端连接注意.txt
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [Android]How to use FFmpeg to decode Android f...
  • [BUUCTF 2018]Online Tool
  • [c]扫雷