linux中强大的编辑工具vim
先来个图镇贴

vim是一个模式编辑器。由三种主要模式比较常用:
1.命令(Normal)模式:默认模式,移动光标,剪切/粘贴文本
2.插入(Insert)或编辑模式:修改文本
3.扩展命令(extended command )模式:保存,退出等
Esc键 退出当前模式
Esc键 Esc键 总是返回到命令模式
命令模式 --> 插入模式
i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行
扩展命令模式
按“:”进入Ex模式
创建一个命令提示符: 处于底部的屏幕左侧
常见命令
w 写(存)磁盘文件
wq 写入并退出
x 写入并退出
q 退出
q! 不存盘退出,即使更改都将丢失
r filename 读文件内容到当前文件中
w filename 将当前文件内容写入另一个文件
!command 执行命令
r!command 读入命令的输出
命令模式光标跳转
字符间跳转:
h: 左 l: 右 j: 下 k: 上
COMMAND:跳转由#指定的个数的字符
单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
COMMAND:由#指定一次跳转的单词数
当前页跳转:
H:页首 M:页中间行 L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
dd:剪切或删除光标所在的行
#dd 多行删除
D:从当前光标位置一直删除到行尾,等同于d$
yy:复制行
#yy 复制多行
Y:复制整行
粘贴命令(p, paste):
p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
命令模式:查找
查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
命令模式:撤消更改
u 撤销最近的更改
u 撤销之前多次更改
U 撤消光标落在这行后所有此行的更改
Ctrl - r 重做最后的“撤消”更改
. 重复前一个操作
#. 重复前一个操作#次
扩展命令模式:查找并替换
在扩展命令模式下完成查找替换操作
格式:s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
修饰符:
i 忽略大小写
g 全局替换,默认情况下,每一行只替换第一次出现
gc 全局替换,每次替换前询问
查找替换中的分隔符/可替换为其它字符
s@/etc@/var@g
s#/boot#/#i
编辑二进制文件
以二进制方式打开文件
vim –b binaryfile
扩展命令模式下,利用xxd命令转换为可读的十六进制
:%!xxd
插入模式下,编辑二进制文件
扩展命令模式下,利用xxd命令转换回二进制
:%!xxd -r
保存退出
定制vim的工作特性
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
1) 行号显示:set number
2) 忽略字符的大小写启用:set ignorecase
3) 自动缩进启用:set autoindent
4) 复制保留格式启用:set paste
5) 显示Tab和换行符 ^I 和$显示启用:set list
6) 高亮搜索启用:set hlsearch
7) 语法高亮启用:syntax on
8) 设置光标所在行的标识线启用:set cursorline
vim确实很强大摆脱了鼠标,虽然刚开始不太熟。
相信自己,你纯敲键盘的样子真的很帅。

linux中强大的编辑工具vim的更多相关文章
- day59:Linux:编辑工具vim&文件类型&文件属性
目录 1.Linux编辑工具vim 2.Linux文件类型 3.Linux文件属性 4.今日份Linux练习题 Linux编辑工具vim 1.什么是vim 文本文件的编辑工具, 和windows的n ...
- Linux文件编辑工具——VIM
Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...
- [转]linux中强大的screen命令
[转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...
- linux入门教程(九) 文本编辑工具vim
前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...
- Linux中源码安装编译Vim
Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...
- [转帖]「日常小记」linux中强大且常用命令:find、grep
「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...
- Linux中常用压缩打包工具
Linux中常用压缩打包工具 压缩打包是常用的功能,在linux中目前常用的压缩工具有gzip,bzip2以及后起之秀xz.本文将介绍如下的工具常见压缩.解压缩工具以及打包工具tar. gzip2 直 ...
- linux的基本操作(文本编辑工具vim)
文本编辑工具vim * 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式.在该模式下,你可以搜索某个字符或者字符串,也可以保存.替换.退出.显示行号等等. 下面笔者教你如何在一个空白文档中 ...
- 【日常小记】linux中强大且常用命令:find、grep【转】
转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...
随机推荐
- [转帖]RedHat 如何更改网卡名 从ens192 改为eth0的问题
RedHat 如何更改网卡名 从ens192 改为eth0的问题 2017年03月27日 17:50:47 the_conquer_zzy 阅读数 2416 版权声明:本文为博主原创文章,遵循CC ...
- The import javax.websocket cannot be resolved的解决问题
在eclipse中导入项目的时候出现了这个问题,废了我半天劲,才搞明白,把问题记录下来,方便大家以后遇到这问题好处理.提供参考. 出现的问题截图: 因为我用的是tomcat8, 大体步骤:项目上点右键 ...
- 【Redis】Redis持久化
Redis数据持久化 Redis的特性: 易扩展,大数据高性能,多样灵活的数据模型,受限内存 Redis默认端口: 6379 Redis数据持久化分为有两种: RDB: 每隔一段时间就把内存数据写入磁 ...
- Educational Codeforces Round 68 (Rated for Div. 2)补题
A. Remove a Progression 签到题,易知删去的为奇数,剩下的是正偶数数列. #include<iostream> using namespace std; int T; ...
- 用链式字典树解决POJ2945
首先,我们的思路是用链式的字典树结构,解决poj2945这道题 题意是,统计所有的字符串出现的次数,并依次输出各个次数的数量 例如: input 9 6AAAAAAACACACGTTTTGACACAC ...
- Elasticsearch5.x安装及常见错误的解决方法
Elasticsearch是基于java开发的,机器上必须要先java环境,elasticsearch5.x建议用jdk8的最新版本.下面介绍elasticsearch5.x的安装步骤: 一.安装El ...
- Visual Studio 2012网站如何只生成一个DLL文件
简介: 在Visual Studio 2005,2008,2010版本中,都有Web Deployment工具将网站进行发布,所有代码文件和库文件发布,生成为一个动态链接库文件,而在Visual St ...
- 【原创】大数据基础之Kudu(6)kudu tserver内存占用统计分析
kudu tserver占用内存过高后会拒绝部分写请求,日志如下: 19/06/01 13:34:12 INFO AsyncKuduClient: Invalidating location 34b1 ...
- 排好序的数组中,找出两数之和为m的所有组合
public static void main(String[] args) { int[] a = {1,2,2,3,3,4,5,6}; int m = 6; normal(a, m); } //正 ...
- BZOJ2659算不出的算式不正经题解
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2659 分析 难得做到此类打表题目,不觉回想到NOIp2017考场上的SB经历 这道题看到 ...