文档章节

VIM常用命令

yxmsw2007
 yxmsw2007
发布于 2017/08/11 22:54
字数 1039
阅读 3
收藏 0

对标点内的内容进行操作

ci'、ci"、ci(、ci[、ci{、ci< - 分别更改这些配对标点符号中的文本内容

di'、di"、di(或dib、di[、di{或diB、di< - 分别删除这些配对标点符号中的文本内容

yi'、yi"、yi(、yi[、yi{、yi< - 分别复制这些配对标点符号中的文本内容

vi'、vi"、vi(、vi[、vi{、vi< - 分别选中这些配对标点符号中的文本内容}])}])}])}])"

复制或移动内容到指定位置

行号9 ,行号15 copy 行号16 将行号9到行号15的内容复制到行号16所在行的后面。

行号9 ,行号15 move 行号16 将行号9到行号15的文本内容移动到行号16所在行的后面。

复制到系统剪切板

在普通模式下按v进入可视模式,选中要复制的内容后按

" + y 

三个键就可以把内容复制到系统粘贴板,下面在终端那里按Ctrl+Shift+v就可以粘贴了

VIM格式化代码

按两下小写g,即gg,定位光标到第一行。

按住Shift+v,即大写V,进入可视化编辑的列编辑模式。

Shift+g,即大写G,选中整个代码。

按下等号=,格式化所有代码。"

进入头文件

gf

移动到当前的行的中间

gm

查看字符ascii码

在normal模式下光标停在某个字符上ga可以查看该字符的ascii码

跳到行首非空白字符

^

粘贴系统剪切板内容

不带自动缩进

“ + p

替换命令

替换命令的完整形式

:[range]s/from/to/[flags]

[range]

不写range : 默认为光标所在的行。

. : 光标所在的行。

1 : 第一行。

$ : 最后一行。

33 : 第33行。

'a : 标记a所在的行(之前要使用ma做过标记)。

.+1 : 当前光标所在行的下面一行。

$-1 : 倒数第二行。(这里说明我们可以对某一行加减某个数值来取得相对的行)

22,33 : 第22~33行。

1,$ : 第1行 到 最后一行。

1,. : 第1行 到 当前行。

.,$ : 当前行 到 最后一行。

'a,'b : 标记a所在的行 到 标记b所在的行。

% : 所有行(与 1,$ 等价)。

?chapter? : 从当前位置向上搜索,找到的第一个chapter所在的行。(其中chapter可以是任何字符串或者正则表达式)

/chapter/ : 从当前位置向下搜索,找到的第一个chapter所在的行。(其中chapter可以是任何字符串或者正则表达式)

注意,上面的所有用于range的表示方法都可以通过 +、- 操作来设置相对偏移量。

s/from/to/

把from指定的字符串替换成to指定的字符串,from可以是正则表达式。

[flags]

无 : 只对指定范围内的第一个匹配项进行替换。

g : 对指定范围内的所有匹配项进行替换。

c : 在替换前请求用户确认。

e : 忽略执行过程中的错误。

注意:上面的所有flags都可以组合起来使用,比如gc表示对指定范围内的所有匹配项进行替换,并且在每一次替换之前都会请用户确认。

vimdiff

vim -d file1 file2

vimdiff file1 file2

如果已经打开了文件file1,再打开另一个文件file2进行比较

:vert diffsplit file2

如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同,分别在两个窗口里面输入命令

:diffthis

如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新

:diffupdate

跳到前一个不同点

[c]

跳到后一个不同点

]c

将差异点的当前文档内容应用到另一文档(diff put)

dp

将差异点的另一文档的内容拷贝到当前文档(diff get)

do

用折叠命令来临时展开被折叠的相同的文本行(folding open, z这个字母看上去比较像折叠的折)

zo

重新折叠(folding close)

zc

参考资料

© 著作权归作者所有

上一篇: Socket编程-C
下一篇: 读写文件-C
yxmsw2007

yxmsw2007

粉丝 4
博文 42
码字总数 40160
作品 0
深圳
程序员
私信 提问
VIM编辑器使用图解(超简单)

VIM编辑器使用图解 Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999年Emacs被选为...

运维小当家
2018/06/29
0
0
(八)Linux学习笔记-Linux文本编辑器vim/vi

(八)Linux学习笔记-Linux文本编辑器vim/vi vim/vi介绍 vim/vi常用命令 以下为Red Hat系列Linux的命令集,我使用的Centos7.5版本。 vim/vi介绍 vim/vi是linux平台下常用的文本编辑工具,功能...

Super_RD
2018/12/20
0
0
Vim Plugins For Node.js

使用Vim作为Node.js的IDE环境也是个不错的选择。 Vim: http://www.vim.org/download.php Node.js在Github上也有一篇关于Vim插件的推荐文章。 https://github.com/joyent/node/wiki/Vim-Plug...

cyper
2014/04/24
4.8K
0
【转】Linux/Unix笔记本

文章转自:http://www.cnblogs.com/ggjucheng/archive/2012/08/18/2645321.html#2566680 Linux/Unix   了解Linux     Linux入门——个人感想   初入Linux     Windows XP硬盘安装...

张玉涛
2012/11/30
0
0
Android拓展系列(4)--vim编辑器的基本使用

从接触Linux到现在,也已经好几年了,对于linux的感觉一直是分分离离,充满了遗憾,最大的遗憾之一就是一直没能精通vim,不能完全适应vim下的代码开发。 最近工作中又广泛接触到vim的使用,我...

枫影Xda
2011/10/23
132
0

没有更多内容

加载失败,请刷新页面

加载更多

python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
6分钟前
0
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
735
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
26
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
79
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部