vi/vim 文字处理器常用命令
目录
- vi 与vim
- vi 的三种模式
- vi 光标移动
- vi 搜索与替换
- vi 删除
- vi 复制
- vi 粘贴
- vi 其他
- vi 进入编辑模式
- vi 命令行命令
- vim 附加功能
vi 与vim
vi是linux最常用的文本编辑软件,vim是vi的增强版软件,具有颜色显示功能,可以看做是一个程序开发工作。
vi的三种模式
一般模式
编辑模式
命令行模式
vi光标移动
0 行首
$ 行尾
G 最后一行
gg 第一行
nG 第n行
vi 搜索与替换
/word 向下搜索
?word 向上搜索
n 重复前一个动作
:%s/word1/word2/g 将word1替换为word2
vi删除
x 删除一个字符
nx 删n个字符
dd 删一行
ndd 删n行
d1G 删光标到第一行
dG 删光标到最后一行
d$ 删光标到行最后一个字符
d0 删光标到行第一个字符
vi复制
yy 复制一行
nyy 复制n行
y1G 复制光标到第一行
yG 复制光标到第一行
y$ 复制光标到行最后一个字符
y0 复制光标到行第一个字符
vi粘贴
p/P 粘贴到光标下一行/上一行
J 合并光标所在行和下一行
vi其他
u 复原前一个动作
Ctr+r 重做上一个操作
. 重复前一个操作
vi 进入编辑模式
i 光标处插入
a 光标下一个字符插入
o/O 光标下一行/上一行插入
vi命令行命令
:e! 还原到最初状态
:w [filename] 存储为新文件
:r [filename] 从文件读入
:!command 不退出执行命令
:set nu 显示行号
:set nonu 取消行号
vim附加功能
块操作
v 字符选择,光标经过的地方反白
V 行选择,光标经过的行反白
y 复制反白的块
d 删除反白的块
多文件编辑
vim file1.txt file2.txt
:n 下一个文件
:N 上一个文件
:files 列出所有文件
多窗口操作
:sp [filename] 打开新窗口,filename可以为空
Ctrl+w 窗口切换
:q 窗口退出
vi/vim 文字处理器常用命令的更多相关文章
- Linux vi/vim and linux yum 命令
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...
- VIM编辑器之常用命令
分类: vim 目录(?)[-] 第一级 存活 第二级 感觉良好 第三级 更好更强更快 更好 更强 更快 第四级 Vim 超能力 在当前行上移动光标 0 f F t T 区域选择 acti ...
- Bash,Vim,gdb&git常用命令
Bash 目录 pwd //查看当前目录 mkdir dir1 dir2 //创建目录 tree dir1 mv test1.cpp test2.cpp dir1 dir //移动文件/目录到目 ...
- VIM编辑器的常用命令及使用!
在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版. Vim能够得到这么多厂商与用户的认可,原因就是在Vim编辑器中有三种模式——命令模式.末 ...
- Linux命令(三)vim编辑器的常用命令
.subTitle { background: rgba(51, 153, 0, 0.53); border-bottom: 1px solid rgba(0, 102, 0, 1); border- ...
- vi / vim 删除以及其它命令
删除一行:dd 删除一个单词/光标之后的单词剩余部分:dw 删除当前字符:x 光标之后的该行部分:d$ 文本删除 dd 删除一行 d$ 删除以当前字符开始的一行字符 ndd 删除以当前行开始的n行 d ...
- 文档流&文字&CSS常用命令
文档流 文档流就是文档内元素流动方向 流动方向 内联元素从左往右流,宽度不够,之字形,且元素会被截断 块元素从上往下流动,一排一排 注意事项 内联元素中有英文单词,流动时宽度不够,英文单词会整体迁移, ...
- Vim 模式及常用命令整理
VIM 命令 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. vim的模式 基本上可以分为3种模式,分别是命令模式(command mode).插入模 ...
- Linux下如何退出vim的一些常用命令总结
1.保存并退出 linux下安装好了vim以及gcc后,我们开始新建一个c文件,例如: vim test.c 之后进入vim的编辑框中,点击i进入插入模式,开始编辑程序,当你编写好自己的程序之后,按E ...
随机推荐
- bootstrapValidator关于js,jquery动态赋值不触发验证(不能捕获“程序赋值事件”)解决办法
//触发oninput事件 //propertychange 兼容ie678 $('#captainName').on('input propertychange', function() { }); ...
- centos 7.x开放端口
1. 查看已打开的端口 # netstat -anp 2. 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 若此提示 FirewallD is not ...
- C现代编程
1.C语言没有像面向对象语言一样提供访问控制的功能,无法实现数据隐藏,可以通过规定成员命名来规避这个问题,例如不允许直接访问的成员以“_”开头. 2.模板模式,利用函数指针,抽离固有代码,差异代码放到 ...
- 使用docker查看jvm状态,在docker中使用jmap,jstat
Docker中查看JVM的信息: 1. 列出docker容器:docker ps 2. 标准输入和关联终端:docker exec -it 容器ID bash 3. 查找出j ...
- google的protobuf简单介绍
google的protobuf是一种轻便高效的结构化数据存储格式,在通信协议和数据存储等领域中使用比较多.protobuf对于结构中的每个成员,会提供set系列函数和get系列函数. 但是,对于使用来 ...
- python:id与小数据池与编码
一.id与小数据池 id:查的是内存地址 a = 100 b = 100 print(a == b)#比较的数值 print(a is b)#比较的是id print(id(a),id(b))#id相 ...
- Java中的权限修饰符private、protected、public
java中的修饰符分类: 权限修饰符: private, default, protected, public 状态修饰符: static, final 抽象修饰符: abstract 权限修饰符 我 ...
- websocket简单理解
实现及原理 Websocket是一种在单个TCP连接上进行全双工通讯的协议. WebSocket 首先发起一个 HTTP 请求,在请求头加上 `Upgrade` 字段,该字段用于改变 HTTP 协议版 ...
- 关于CoreData的用法
有些同事觉得CoreData是一个看不懂,理解不清的神秘东东,其实ios的本地数据储存是一个sqlite数据库,一个简易的数据库,而这个CoreData是否支持所有储存的数据呢,显然不是的,站在我的角 ...
- 网页导出PDF文件
转自-----出道诗人 var downPdf = document.getElementById("exportToPdf"); downPdf.onclick = functi ...