Vim常用命令

之前有搜集过一些常用的命令脚本,其中有vim的部分。但是vim内置的很多功能那些个命令显然是不够的,而且那些记录的很多也不常用,于是想到专门开一个页面记录vim常用的命令集。

常用配置

https://github.com/owent-utils/vim

基本命令

编辑和查看

/                      # 向下搜索
?                      # 向上搜索 
v                      # 进入可视化模式
Ctrl+v                 # 列编辑模式
    Shift+i            # 多列插入
d[d/w]                 # 剪切[行/单词]
y[y/w]                 # 复制[行/单词]
=[=]                   # 自动缩进[行]
p                      # (查看模式)粘贴
u                      # Undo
Ctrl+r                 # (查看模式)Redo
Ctrl+r Ctrl+"          # (命令行模式/编辑模式)粘贴
:e                     # 更新缓冲区   

查找和替换

# 和正则表达式不同的的一个地方在于,用于全字匹配的\b在vim里是 \<\>
:s/src/dst/     # 文本替换(当前行第一个src替换为dst)
:s/src/dst/g    # 文本替换(当前行所有src替换为dst)
:%s/src/dst/g   # 文本替换(所有行第一个src替换为dst)
:%s/src/dst/g   # 文本替换(所有行所有src替换为dst)

:n,$s/          # 从第n行到结尾,类似正则表达式
:%s/            # 全文搜索

*/#             # 在当前文件中搜索当前光标的单词

分屏和tab

:tabnew         # 新tab打开
g(t/T)         # (下/上)一个tab

:He[!]          # 上[下]分屏浏览 
:Ve[!]          # 左[右]分屏浏览
Ctrl+w Ctrl+w   # 分屏切换
:set scb[!]     # 开启[关闭]分屏同步移动
:(s/v)plit      # (水平/垂直)分屏打开

缓冲区和文件系统

:e . # 打开目录
:E   # 目录导航
:ls  # 列举缓冲区
N Ctrl+^ # 切换缓冲区

关键字导航

Ctrl+N               # 向下查找关键字关键字[插入模式下], Ctrl+P 向上查找关键字[插入模式下]
Ctrl + X 和 Ctrl + D # 宏定义补齐
Ctrl + X 和 Ctrl + ] # 是 Tag 补齐
Ctrl + X 和 Ctrl + F # 是文件名补齐
Ctrl + X 和 Ctrl + I # 也是关键词补齐,但是关键后会有个文件名,告诉你这个关键词在哪个文件中
Ctrl + X 和 Ctrl +V  # 是表达式补齐
Ctrl + X 和 Ctrl +L  # 对整行补齐。

常用指令

:%!python -m json.tool  # jsom 格式化
:%!xxd[ -r]             # 转入[转出]为16进制查看
gg=G                    # 全文自动缩进
:set encoding=utf8      # 设置显示编码
:set fileencoding=utf-8 # 文件编码转换
:help encoding-values   # 列举支持得编码
:setl ff=[dos/unix/mac] # 行尾格式转换

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏finleyMa

Chrome 功能总结

原文:https://developers.google.com/web/updates/2017/08/devtools-release-notes#awai...

1602
来自专栏技术墨客

React学习(最终篇)—— 高阶应用:高阶组件(HOCs)

高阶组件(higher-order components:以下简称HOC或HOC组件)是一个React组件复用的高级技巧。HOCs本身并不是React的API接...

2734
来自专栏HT

基于HTML5 Canvas 实现矢量工控风机叶轮旋转

之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。 先看看最后我们实现的效果:http://www.hightopo.com...

2508
来自专栏HT

基于HT for Web矢量实现2D叶轮旋转

之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。 我们先来看下这个叶轮模型长什么样 ? 从模型上看,这个叶轮模型有三个叶片...

2065
来自专栏有趣的django

微信小程序入门(四)

WXSS(WeiXin Style Sheets)是一套样式语言,用于WXML的组件样式

2682
来自专栏高性能服务器开发

libevent源码深度剖析(五) libevent的核心:事件event

(1)libevent源码深度剖析一 序 (2)libevent源码深度剖析二 Reactor模式 (3)libevent源码深度剖析三 libevent基...

1943
来自专栏青青天空树

MFC--响应鼠标和键盘操作

  一.  理解鼠标事件.之前对鼠标事件的认识仅仅局限于处理控件的单击与双击事件.但实际鼠标的操作包含很多.这里将以一个画图的小程序讲解对鼠标的响应.

1161
来自专栏杂七杂八

numpy和pandas中的axis

在numpy和pandas中经常出现axis轴这个概念,下面就详细的看看这个轴到底是什么意思 使用0值表示沿着每一列或行标签\索引值向下执行方法 使用1...

2927
来自专栏IT开发技术与工作效率

VBA登录抓取网络数据

2684
来自专栏河湾欢儿的专栏

5.规范<1>

规范: 在一个项目中开始的时候,每个人都有自己的习惯与编码规范,在项目进行的过程中有些人会离职,那他的风格会在代码中体验,以后再来新人的时候,还得适应,这样代...

1173

扫码关注云+社区

领取腾讯云代金券