vim 编辑基础使用-----linux编程
Linux系统编程:
VIM编辑器 | VIM Introduce
- 学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。
- 我建议下面这四个步骤:1.存活;2.感觉良好;3.觉得更好,更强,更快;4.使用VIM的超能力。
- vim的学习曲线相当的大,所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。
- vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。
 
VIM/VI基本命令 | VIM Learning
| 分类 | 命令 | 
| 一、打开文件、保存、关闭文件 | vim filename //打开filename文件 | 
| :w //保存文件 | |
| :w atool.org //保存至atool.org文件 | |
| :q //退出编辑器,如果文件已修改请使用下面的命令 | |
| :q! //退出编辑器,且不保存 | |
| :wq //退出编辑器,且保存文件 | |
| 二、插入文本或行(按ESC键可退出插入模式) | a //在当前光标位置的右边添加文本 | 
| i //在当前光标位置的左边添加文本 | |
| A //在当前行的末尾位置添加文本 | |
| I //在当前行的开始处添加文本(非空字符的行首) | |
| O //在当前行的上面新建一行 | |
| o //在当前行的下面新建一行 | |
| R //替换(覆盖)当前光标位置及后面的若干文本 | |
| J //合并光标所在行及下一行为一行(依然在命令模式) | |
| 三、移动光标 | 使用上下左右方向键 | 
| 命令模式下:h 向左、j 向下 、k 向上、l 向右。 | |
| 空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。 | |
| 四、删除、恢复字符或行 | x //删除当前字符 | 
| nx //删除从光标开始的n个字符 | |
| dd //删除当前行 | |
| ndd //向下删除当前行在内的n行 | |
| u //撤销上一步操作 | |
| U //撤销对当前行的所有操作 | |
| 五、搜索 | /atool //向光标下搜索atool字符串 | 
| ?atool //向光标上搜索atool字符串 | |
| n //向下搜索前一个搜素动作 | |
| N //向上搜索前一个搜索动作 | |
| 六、跳至指定行 | n+ //向下跳n行 | 
| n- //向上跳n行 | |
| nG //跳到行号为n的行 | |
| G //跳至文件的底部 | |
| 七、设置行号 | :set nu //显示行号 | 
| :set nonu //取消显示行号 | |
| 八、复制、粘贴 | yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 | 
| nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 | |
| yw //复制从光标开始到词尾的字符。 | |
| nyw //复制从光标开始的n个单词。 | |
| y^ //复制从光标到行首的内容。 | |
| y$ //复制从光标到行尾的内容。 | |
| p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。 | |
| P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。 | |
| 九、替换 | :s/old/new //用new替换行中首次出现的old | 
| :s/old/new/g //用new替换行中所有的old | |
| :n,m s/old/new/g //用new替换从n到m行里所有的old | |
| :%s/old/new/g //用new替换当前文件里所有的old | |
| 十、编辑其他文件 | :e otherfilename //编辑文件名为otherfilename的文件。 | 
| 十一、修改文件格式 | set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下 | 
vim 编辑基础使用-----linux编程的更多相关文章
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
		上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ... 
- Linux基础与Linux下C语言编程基础
		Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ... 
- 【转】Linux基础与Linux下C语言编程基础
		原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ... 
- linux编程vim设置
		linux环境下c网络编程vim编辑工具设置,包括自动缩进,tab键对齐等. 
- Linux下使用vim编辑C程序
		这几天在系统能力班自学linux,加上最近大数据课上开始使用linux,我在这里总结一下,linux下使用vim编辑c程序的一些问题. 大数据课上是直接使用micro来编辑的,我这里只是简单的说明一下 ... 
- linux编程基础汇总贴
		linux编程基础汇总贴http://newzol.cn/forum.php?mod=viewthread&tid=67&fromuid=3(出处: newzol) 1.管道 http ... 
- linux文件管理 -> vim编辑总结
		vi和vim命令是linux中强大的文本编辑器, 由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数.vim编辑器是运维工程师必须掌握的一个工具, 没有它很多工作都无法完成.vim ... 
- linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法
		vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ... 
- Linux系统的文件复制移动删除与VIM编辑
		目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ... 
随机推荐
- 解决IE6下浮层遮盖select刺穿的问题
			图一未解决刺穿问题: 图二已解决 解决方法使用iframe间接挡住层,具体方法见源码 源码一(未解决刺穿): <html xmlns=" ... 
- e795. 获得和设置JSlider的值
			// To create a slider, see e794 创建JSlider组件 // Get the current value int value = slider.getValue(); ... 
- 多媒体开发之ftp---一个很现实的需求把ftp转换成rtmp协议做点播
			http://www.dy2018.com/i/96131.html# http://www.hdpfans.com/thread-15684-1-1.html ftp://xc:xc@dz.dl12 ... 
- 推荐个office能在线预览的插件
			1.chrome office viewer 这个可以离线使用 2.微软 office web app 可以使用微软在线服务器或则自己搭建服务器 有兴趣的朋友百度一下具体操作方法 
- Solaris 11中的变化
			Solaris 11发布了好几个月了,用了后感觉好多配置的东东变化不小,写写自己遇到的问题和大家分享一下, 1,如何设置root密码 Solaris 11中root作为一个Role来存在,已经不能直接 ... 
- Dataguard中日志传输服务
			之前,原本已经尝试过配置oracle实例的逻辑和物理standby结构,并且做个一些role交换操作,可是由于昨天学习rman的部分命令时没留意,误删掉了primary DB上的所有归档日志,因为原来 ... 
- 谈谈如何优化MYSQL数据库查询
			1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可 ... 
- thinkphp中的类库与引用import引入机制
			ThinkPHP的类库包括基类库和应用类库 控制器类 模块名+Action 例如 UserAction.InfoAction 模型类 模型名+Model 例如 UserModel.InfoModel ... 
- 前端Table数据导出Excel使用HSSFWorkbook(Java)
			一.实现原理: 1. 前端查询列表数据并渲染至table(<table>...</table>)表格 2. 表格html代码传输至后台 3. 后台把html转成Excel输出流 ... 
- iOS: 控制UIView的外形
			#import <UIKit/UIKit.h> #import <QuartzCore/QuartzCore.h> @interface UIView (Shape) - (v ... 
