【盟友分享】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 条评论
登录 后参与评论

相关文章

来自专栏州的先生

使用Django实现微信公众号用户openid登录认证

2012
来自专栏程序员互动联盟

【记忆卡片】--eclipse最有用的十个快捷键

一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升 1. ct...

3369
来自专栏用户2442861的专栏

我的VS2010+VAssistX

最近越来越觉得VAssistX好用,可能是以前没有去仔细研究过吧,也可能是因为我是个快捷键控吧,不管怎样,用或不用,方便或不方便,它就是那里,一动也不动,进入...

391
来自专栏前端小吉米

看啥双拱门,来学 webpack 3啊

902
来自专栏有趣的Python

IDEA 神器使用技巧

标记上bookmarks之后可以ctrl 1 ctrl 2 ctrl 3 按标签序号进行跳转

713
来自专栏Samego开发资源

Python处理Excel文档之openpyxl

1424
来自专栏沈唁志

Composer进阶使用之版本约束表达式的使用

例如我们想要下载5.1版本的ThinkPHP包,我们可以通过composer.json文件:

372
来自专栏李家的小酒馆

Sublime 正则替换

打开替换的窗口 ? 2. 在Find What 写入待匹配的正则表达式,然后在Replace With写上要替换的内容($1代表第一个括号内内容,依次类推...

2550
来自专栏李家的小酒馆

Sublime 正则替换

1134
来自专栏网络

Nginx 教程#1:基本概念

协作翻译 原文:Nginx Tutorial #1: Basic Concepts 链接:https://www.netguru.co/codestories/...

2058

扫码关注云+社区