vi编辑器经典技巧 -备
a)vi编辑器 (visual Interface简称) Linux常用,输出,删除,查找,替换,块操作,定制
b) vim编辑器 (vi IMproved简写)是vi增强版本,在vi上增加了很多功能,如代码的关键字高亮等。vim兼容所有的vi指令
如何使用?(以下是vi为例,用vim也一样的)
直接vi filename, 如果说main.c 不存在在,下面会出现 [New File] 直接:q 是不保存的
1) 用打开main.cc文件
vi main.c
2) 查看当前的文本文件(在ssh登录服务器使用)
ll
vi 的三种模式:
- 命令模式:可移动光标,修改,删除,复制,搜索
- 插入模式:a i o
- 扩展模式,由 : 进入 退出,保存,查找 替换
移动光标:
- 左右上下: hjkl 或者 方向键
- w 跳到下个字符
- b 跳到上个字符
- ( 跳到上个句子
- ) 跳到下个句子
- { 跳到下个段落
- } 跳到上个段落
命令模式下 复制 删除 修改:
cc : 修改一行,也就是开启Insert模式
cl : 修改一个字符
cw : 修改一个词 ,注意:也就是从光标开始向后开始修改dd : 删除一行 D:也可以
dl : 删除一个字符, 光标后
dw : 删除一个词 光标后yy : 复制一行
yl : 复制一个字符 ,光标后
yw : 复制一个词 ,光标后开始复制一个词撤销操作
- u 撤销最近一次修改 undo
- ctrl+r 取消最后一次撤销 redo
- U 撤销所有的修改
查找操作:
- /searchText 由光标向后搜索 (进入命令模式 : )
- ?searchText 由光标向前搜索
- n 由光标向下一步搜索
- N 由光标向前搜索
粘贴操作:
- p 粘贴 复制或者修改过或删除的内容(即使删除 系统认识下次会用到 也复制上饿了)
- p 粘贴在行上方,
- P(大写) 粘贴在行下方
范围操作
- dto 删除从光标到字符o的所有字符
- ro 将光标下的字符替换成o (修改字符方式可以这种比cl快)
- dw 删除由光标开始后的一个词
- 6dd 删除6行文字
- 6yy 复制6行文字
- 6x 删除6个字符
- R 替换
保存 退出 强制退出
- :wq 保存并退出
- :w! 强制保存
- :q! 强制退出
- :w 保存
- :q 退出
- :wq! 强制保存并退出
快速文件内定位
- G 跳到文件最后一行
- 6G 跳到文件的第6行
- ctrl+d 滑动到文件的下半屏
- CTRL+u 滑动到文件的上半屏
快速屏幕内定位
- H 跳到本屏幕的第一行
- M 跳到本屏幕中间一行
- L 跳到本屏幕最后一行
- z+Enter 让当前一行成为屏幕的第一行
- z- 让当前一行成为屏幕的最后一行
查找并批量替换
- set 来查找
- 默认当前行查找
- :s/a/b 就是把字符a替换成字符b(仅替第一个)
- :s/a/b/g 把当前光标下一行中的a全都替换成b
- :1,20s/a/b/g 在1-20行中的a全都替换成b
- :1,¥s/a/b/g 在整个文件中的a全都替换成b
读取和保存
- :r filePath 把filePath路径下文本粘贴在光标后
- :1,20 w fileName.txt 在1-20行文本内容写到fileName.txt(出现在你当前命令的路径下)
- :1,$ w fileName.txt 在整个文本内容写到fileName.txt(出现在你当前命令的路径下)
- :1,20 w>> fileName.txt 在1-20行文本内容继续粘贴到fileName.txt(出现在你当前命令的路径下)
设置
- :set 设置常用的配置选项
- :set all 显示所有的配置选项
- :set number 设置显示行号
恢复文件
- vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:
- O 只读打开,不改变文件内容
- E 继续编辑文件,不恢复.swp文件保存的内容
- R 将恢复上次编辑以后未保存文件内容
- Q 退出vi
* D 删除.swp文件 - 或者使用vi -r 文件名来恢复未保存的内容
vi编辑器经典技巧 -备的更多相关文章
- Linux vi编辑器使用技巧
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能. ...
- vi 编辑器使用技巧
1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号 ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...
- vi编辑器的常见使用技巧
光标移动 在普通模式下, 1.按 h 向左移动光标 按 h + 数字n 可以向右移动 n个字符 比如 h + 5 就是向左移动5个字符 2.按j向下移动光标 3.按k向上移动光标 4.按 l 向 ...
- vi编辑器使用记录
01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: ...
- 普通Linux用户1分钟上手vi编辑器
*导读:普通用户只要花1分钟看第二部分即可.高级用户请忽略本文* 目录 1. 编辑器之战 2. vi的使用 2.1 vi的3个模式 2.2 vi的3个模式切换 2.3 vi最基本的命令 2.4 vi的 ...
- vi 常用 文本编辑 技巧
归纳常用的Vi/Vim 文本编辑技巧,便于以后查阅. 一.把空格替换为换行 :% s/ /\r/g 二.把空行删除 :g/^$/d 三.vim以16进制打开和编辑文件 先用vim以二进制格式打开需要编 ...
- ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?(图文详解)
不多说,直接上干货! 问题详情 ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母? 解决办法 是由于预装的vim软件没更新,运行 sudo apt-get install vi ...
- linux中vi编辑器(转载)
三种模式相互切换 在命令终端输入vi进入vi编辑器. 命令模式:进入编辑器即进入命令模式, 输入模式:在命令模式下输入“i ”进入输入模式: 末行模式:按“:”进入末行模式: 在输入模式切换至末行模式 ...
- vi编辑器使用
显示行号 set nu 取消行号 set nonu 定位到某一行 gg 定位到首行 G 定位到最后一行 在VI编辑器中切换调用外部shell命令 :!ifconfig 在编辑过程中,看ip地址 插 ...
随机推荐
- 使用SQLiteDatabase进行数据库操作的步骤
1.获取SQLiteDatabase对象,它代表了与数据库的连接.2.调用SQLiteDatabase的方法来执行SQL语句.3.操作SQL语句的执行结果,比如用SimpleCursorAdapter ...
- Altium Designer 6 快速进行差分对走线
1: 在原理图中让一对网络前缀相同,后缀分别为_N 和_P,并且加上差分队对指示.在原理图中,让一对网络名称的前缀名相同,后缀分别为_N 和_P,左键点击Place DirectivesDiffere ...
- FMX手机app,如何下载网站图片而不卡界面
你用的版本? 你应该关注下delphi 更新说明第一方法: 可以用线程.第二方法: TNetHTTPClient 已经支持异步 TThread.CreateAnonymousThread( proce ...
- OI生涯中三届NOIP(2012-2014)流水账
NOIP2012: 才摸了三四个月OI就上阵当炮灰,果然一下就被轰得渣都不剩了. D1看到T1这道模拟水题时很激动,立马就把它A了.然后T2就不会了,果断写了个阶乘的暴力,根本没有想过什么排序贪心.T ...
- Beanstalkd介绍
特征 优先级:任务 (job) 可以有 0~2^32 个优先级, 0 代表最高优先级,beanstalkd 采用最大最小堆 (Min-max heap) 处理任务优先级排序, 任何时刻调用 reser ...
- oracle修改服务器端编码
因为装的是oracle 11g免费版,没有装oracle客户端,然后从网上找了免客户端使用pl/sql的教程,具体可以看链接,这里不再累述:但打开pl/sql的时候提示客户端和服务端编码不一致:网上一 ...
- Python读取txt文件
Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...
- 基于jsp+servlet图书管理系统之后台用户信息删除操作
上一篇的博客写的是修改操作,且附有源码和数据库,这篇博客写的是删除操作,附有从头至尾写的代码(详细的注释)和数据库! 此次删除操作的源码和数据库:http://download.csdn.net/de ...
- Cocos2D-X v3.0 alpha1环境搭建
周末看了下Cocos2D,感觉用起来还是挺爽的样子,跨平台,支持Windows, Linux, Mac, IOS, Android,WP...N多平台..还是C++开源滴,果断下下来研究下.. 最新版 ...
- 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]
有一个未完成的等式:1 2 3 4 5 6 7 8 9=N 当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入运算符号“+”,或插入一个运算符号“-”,或不插入 ...