专栏首页机器学习算法与Python学习Vim 利剑常磨,见血封喉

Vim 利剑常磨,见血封喉

来源:以乐之名

对于以OSX / Linux为开发环境的伙伴们,应该并不陌生。因其轻便,扩展性,可定制化,一直很受开发者追捧。高阶大神,袖中必有深藏。

Vim编辑器简洁易用,在终端上可用来快速查看修改文档。虽然与其他编辑器如WebStrom、VScode相比,功能扩展相对欠缺,对新手朋友不太友好。但胜在多数Linux系统已附带,开箱即用,终端直接使用,无需再多开一个应用窗口。

如果你想秀操作用Vim来写HTML/CSS/JavaScript,我只想说一句,“小伙子,你很6啊!”。

Vim学习的过程不是两三天即可入境,懒惰如笔者,几天不敲,命令忘了七八。时不时还得翻出来看看,至今仍以新手自居。

前言 vi/vim的区别

vim 是 vi 的升级版本,它不仅兼容vi的所有指令,还有新增了一些新的特性。

vi filename
vim filename
// 两者同样的功能,能少敲一个字母,所以我们就用vi吧

“工具总须多磨,方才用的趁手。”

Mac 终端键入 vimtutor 即可进入Vim入门教程,30分钟足以让你应对Vim日常操作。

常规操作

命令

说明

x

删除光标下的字符

X

删除光标左边的字符

s

修改一个字符(与r的区别,修改后直接进入Insert模式)

i

光标前插入字符

a

光标后插入字符

A

行尾插入字符

o

光标下方新建一行并进入Insert模式

O (字母)

光标上方新建一行并进入Insert模式

r

替换字符(单个)

R

替换字符(多个)

cw

替换文本直到单词末尾(ce也可)

c$

替换文本直到行尾

dw

删除单词 (de, d2w)

d$

删除到行尾

D

删除到行尾

S

删除到行为,并进入Insert模式

dd

删除整行

y

复制

yy

复制整行 (yw, ye)

p

粘贴到光标之后

P

粘贴到光标之前

u

撤销

.

重复上一次操作

:!

执行外部名 (:!dir/:ls)

%

查找配对的括号 ), }, ]

v motion :w

选择性保存

Ctrl + D

查看可能的补全

光标移动

命令

说明

h

l

k

j

0 (数字)

行首

$

行尾

w

下一个单词起始处

nw (2w)

n可为数字,表示移动两个单词

e

单词末尾(与w的区别)

gg

文件起始处

G

文件末尾处

退出

命令

说明

:wq

保存并退出

ZZ

保存并退出

:q!

丢弃修改并退出 (q退出,有修改的话q不能退出)

:e!

丢弃修改并打开原文件

查找并替换

命令

说明

:s/old/new/g

查找old并替换为new,g代表整行匹配

:#, #s/old/new

#, #代表首尾行号

:%s/old/new/g

全文匹配替换

:%s/old/new/gc

全文匹配替换,并每次替换会弹出确认提示

翻页

命令

说明

Ctrl + e

向下滚动一行

Ctrl + y

向上滚动一行

Ctrl + f

向下翻一页

Ctrl + b

向上翻一页

Ctrl + u

向上翻半页

Ctrl + d

向下翻半页

文件操作

命令

说明

:e + filename

打开新文件

:r + filename

读取文件并插入到当前文件

选项设置

命令

说明

:set ic

忽略大小写

:set is

部分匹配(like)

:set hls

高亮匹配

:set nu

显示行号

分屏启动vim

命令

说明

vim -on file1 file2...

水平分屏

vim -On file1 file2...

垂直分屏

关闭分屏

命令

说明

Ctrl + w c

关闭当前窗口(如果是最后一个,无法关闭)

Ctrl + w q

关闭当前窗口(如果是最后一个,则退出vim)

分屏

命令

说明

Ctrl + w s

上下分屏

Ctrl + w v

左右分屏

:sp filename

左右分屏,且打开一个新的文件

:vsp filename

上下分屏,且打开一个新的文件

切换分屏(光标切换)

命令

说明

Ctrl + w l

右边

Ctrl + w h

左边

Ctrl + w j

上边

Ctrl + w k

下边

分屏尺寸调整

TIPS: (上下分屏生效)

命令

说明

Ctrl + w =

所有屏一样高度

Ctrl + w +

增加高度

Ctrl + w -

减少高度

写在结尾

这么多命令要记,想对Vim说喜欢真不容易,按耐不住就新开VScode。

少年莫慌,很多事情,难在开头,当你学会了,才会感谢当初的付出。

本文分享自微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-27

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 闲谈 | 国内AI排名前 8 位的大学,顶起!

    近日,人工智能专业作为战略新兴产业受到关注,本文整理了目前人工智能全国排名前八的大学,供家长、考生了解。

    昱良
  • 人工智能应届毕业生月薪20k+,他们是如何做到的?

    人工智能作为当下热门行业中的热门,释放出了大量的工作机会,而由于人工智能核心人才的缺乏,使得相关岗位的薪资日益水涨船高,特别是AI算法工程师岗,在北京、上海、广...

    昱良
  • 131页超清 |《2018新一代人工智能白皮书:产业增长点研判》

    该报告梳理了当前全球人工智能发展的趋势,分析了人工智能产业发展现状,并对未来的人工智能发展区域做出了研判。报告认为,新一代人工智能产业已在全球范围步入新的发展阶...

    昱良
  • OMserver自动化运维平台搭建及测试

    本文基于《Python自动化运维  技术与最佳实践》第十三章内容“从零开始打造B/S自动化运维平台”。

    loong576
  • Github被微软收购,这里整理了16个替代品

    微软斥资75亿美元收购以后,鉴于微软和开源竞争的历史,很多开发者都感到惊恐。毕竟,互联网上最大的一块可以自由的净土被微软染指,宝宝不开森。如果你真的担心微软会对...

    Fundebug
  • 这家公司正在影响大公司决策,还开发了一款机器学习优化引擎

    机器之心原创 作者:虞喵喵 「人工智能会提供偏早期的功能,比如从数据到规律。在规律之后,从规律到决策是运筹学的范畴。」 在斯坦福运筹学博士、杉数科技联合创始人...

    机器之心
  • centos7系统服务管理

    systemd是RH7系列操作系统开始启用新的系统和服务管理器。它被设计为与sysv init脚本向后兼容,并提供了一些功能,例如在引导时并行启动系统服务,按需...

    拓荒者
  • 一周AI十大要闻回顾 | 多项小技术有大突破,巨头忙打造产业基础平台

    量子位筛选整理出过去一周Top 10,从技术新突破、政策新风向和产业新动态3大方面,为你提供最新趋势参考。

    量子位
  • 【重磅】DeepMind进军星际争霸2,谷歌Facebook打响通用AI战争

    【新智元导读】7日,Facebook刚刚宣布开源史上最大的《星际争霸》游戏数据集STARDATA。今天(10日)DeepMind在官方博客上宣布开源星际争霸2 ...

    新智元
  • 2018年AI专业最全报考指南:去哪学?怎么去?

    导读:2018年高考已落下帷幕,选择什么大学、报考什么专业又将成为考生和家长的另一场“鏖战”。近些年来,关于人工智能的讨论日渐火热,AI领域的相关专业也被媒体称...

    华章科技

扫码关注云+社区

领取腾讯云代金券