【盟友分享】vim学习之路-vim基本操作

前言:说到我的学习之路是从arm嵌入式开发开始的,基本上在学校学习都时windows开发开始的,转到ubuntu上嵌入式开发刚开始非常的不习惯。不用鼠标很难受的,大家是不是有同感,不过在我接触学习vim后我的看法彻底被改变了。我就以我的学习经历从一个新手开始,一步一步的为大家带来我的vim学习之路。

如果你不是刚开始学习vim请略过此段。

安装vim:

  刚安装ubuntu系统是没有自带vim的需要安装 sudo apt-get install vim;

我们先从基本的一些操作开始一步一步的去学习这个强大的代码编辑开发工具吧!

文件操作:

:e filename 心打开一个文件

:w 保存文件

:wq 保存并退出文件

:q 退出文件

:!q 强制退出文件

vim中不同保存退出是有区别的

:x 写入文件并退出(仅当文件被修改时才写入,并更新文件和修改时间;否则不会更新文件修改时间)

:wq和ZZ 强制写入并退出(文件没有被修改也强制写入,并更新文件的修改时间)

操作回退和恢复:

u 回退到上一次操作

U 本行改动恢复

ctrl+r 与u操作相反的操作

移动操作:

j 下移一行

k 上移一行

h 左移一列

l 右移一列

0 移动到开头

$ 移动到结尾

w 移动到下一个单词开头

e 移动到下一个单词结尾

fx 移动到本行之后第一个出现x字母的位置

tx 移动到本行之后第一个出现x字母的前一个位置

gg 跳到文件首

G 跳到文件尾

nG 移动到第n行,或者用:n也可

{ 上一段,}下一段 (空行区分)

[ 函数开始,]函数结束(c文件有效)

% 跳到匹配的括号处

滚屏操作:

CTRL-U使文本向下滚动半屏。相当于显示文本的窗口向上滚半屏。光标所处的行数随滚屏而改变。

CTRL-D使文本向上滚动半屏。相当于显示文本的窗口向下滚半屏。光标所处的行数随滚屏而改变。

CTRL-E使文本向上滚动一行。光标所处的行数不变。

CTRL-Y使文本向下滚动一行。光标所处的行数不变。

CTRL-F 向前滚动一整屏。滚动后光标处于第一行。

CTRL-B向后滚动一整屏。滚动后光标处于最后一行。

zz把当前位置处于屏幕的正中央。

zt 把当前位置处于屏幕的顶端。助记:top。

zb 把当前位置处于屏幕的底端。助记:bottom。

文本操作:

d 剪切,双击剪切一行

y 复制,双击复制一行

p 粘贴

x 删除当前光标下字符

r 替换当前光标字符,后面接替换的字符

:s/old/new/g 全局替换old为new

模式切换

插入模式

i 进入插入模式,当前插入光标位置插入

a 进入插入模式,下一个光标位置插入

o 进入插入模式,在当前行下一行插入

O 进入插入模式,在当前行上一行插入

可配置vim成鼠标光标定位模式

可视化模式

:v 进入可视化模式

替换模式

:R 进入替换模式

使用外部命令

:! 在!后添加外部命令

查找

:/ 在/后添加要查找的内容,进入查找时,按n查找下一个,N查找上一个

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.6K7
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

3848
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

4525
来自专栏跟着阿笨一起玩NET

c#实现打印功能

4832
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

3277
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

1.1K8
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

3356
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

46110
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

9016
来自专栏魂祭心

原 canvas绘制clock

5934

扫码关注云+社区