linux学习系列二
vim是由vi发展而来,具有语法高亮显示,多视图编辑,代码折叠,支持插件等功能,vim成为了linux发行版本的标配.
1. vim工作模式
1. 普通模式:实现基本的光标移动和大量的快捷操作
2. 插入模式:实现文本的基本编辑功能
3. 命令模式:输入特定的指令完成特定的功能
默认进入的是普通模式,输入a,A,i,I,o,O都可以进入插入模式,按下esc返回普通模式,在普通模式下按下:进入命令行模式.
2. vim光标操作
所有的快捷方式均在普通模式下使用
h 光标向左移动一行 <--
j 光标向下移动一行 down
k 光标向上移动一行 up
l 光标向右移动一行 -->
gg 移动光标至首行行首
G 移动光标到末尾行首
nG 移动光标至第n行行首
^ 光标移到当前行的首字符
$ 光标移到当前行的尾字符
fx 光标移到下一个x字符处
Fx 光标移到上一个x字符处
w 光标向右移动一个单词
nw 光标向右移动n个单词
b 光标向左移动一个单词
nb 光标向左移动n个单词
3. vim编辑文档
1. 进入插入模式进行操作
2. 普通模式快捷操作
x 删除光标当前字符
dd 删除一行
nd 删除n行
d$ 删除光标至结尾的内容
J 删除换行符,合并为一行
u 撤销上一步操作
rx 将光标当前字符替换为x
yy 复制当前行
p 粘贴至当前杭行后
P 粘贴至当前行前
4. vim查找和替换
1. 输入 /关键词 实现自上而下的查找功能,n跳到下一个,N调到上一个
2.输入 ?关键字 同上
在普通模式输入:进入命令行模式完成替换
:s/root/admin 将光标当前行第一个出现的root替换成admin
:s/root/admin/g 将光标当前行的所有root替换为admin
:3,5 s/sbin/bin/g 将第三行到第五行之间所有的sbin替换为bin
:% s/sbin/bin/g 将所有行的sbin替换成bin
5. vim保存和退出
:q! 不保存退出
:wq 保存并退出
:x 保存并退出
:w 保存
:w b.txt 另存为b.txt
在普通模式输入ZZ实现保存并退出
6. vim小技巧
1. 显示行号
:set number 或者 :set nu
2. 忽略大小写
:set ignorecase
3. 多窗口编辑
:split 打开一个新的窗口
:close 关闭多窗口
:split test.txt 打开的另外一个窗口为test.txt文件
4. 执行shell命令
:!ls 查看当前目录下的内容,执行完之后按 enter返回vim编辑器
5. 自动补齐
ctrl+n 自动补齐以前输过的内容
linux学习系列二的更多相关文章
- Linux学习系列八:操作网口
一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- DocX开源WORD操作组件的学习系列二
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...
- RabbitMQ学习系列二-C#代码发送消息
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...
- Linux学习之二-Linux系统的目录结构
Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...
- Linux学习笔记(二) 文件管理
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...
随机推荐
- 盘古分词demo,盘古分词怎么用
1.下载PanGu.dll dll地址:http://download.csdn.net/detail/dhfekl/7493687 2.将PanGu.dll和词库引入到项目 最新词库地址:http: ...
- struts2在项目中的应用之下载
文件下载是一个非经常见的功能,用struts2实现文件下载的步骤: 一)定义一个Action类.FileDownload.java package com.struts2.filedownload; ...
- 【Cocos2dX(2.x)_Lua开发之三】
[Cocos2dX(2.x)_Lua开发之三]在Lua中使用自定义精灵(Lua脚本与自创建类之间的访问)及Lua基础讲解 本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明 ...
- Weka关联规则分析
购物篮分析: Apriori算法: 参数设置: 1.car 如果设为真,则会挖掘类关联规则而不是全局关联规则. 2. classindex 类属性索引.如果设置为-1,最后的属性被当做类属性. 3. ...
- PHP压缩上传图片
最近手上的项目页面要显示很多图片,虽然用了jQuery的lazyload,但是效果并没理想,滑动到一个区域还要比较长的时间图片才完全显示出来.于是想着将上传上去的900KB+压缩备份一份缩略图. PH ...
- codeforces 427 div.2 F. Roads in the Kingdom
F. Roads in the Kingdom time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- Unity导出AssetBundle到指定路径
using System.Collections; using UnityEngine; using UnityEditor; using System.IO; /// <summary> ...
- swoole创建TCP服务端和客户端
服务端: server.php <?php //创建Server对象,监听 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0 ...
- Collecting Bugs (概率dp)
Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stu ...
- Orthogonal Least Squares Learning Algorithm for Radial Basis Function Networks
Orthogonal Least Squares Learning Algorithm for Radial Basis Function Networks S. Chen, C. F. N. Cow ...