18.Vim基础指令(自用)——2019年12月13日
title: vim study
date: "2018-12-26 20:17:16"
tags: 指令学习
categories: 技术驿站
vim study
2018年12月26日11:00:43
64 篇
made by jixi
Vim指令学习
1.Vim 配置(CentOS 环境)
- 编辑配置文件是:sudo vim /etc/vimrc
2.Vim 基础快捷键
注意
- 严格区分字母大小写
- 含有
Ctrl
字眼都表示 Ctrl 键盘按钮 - 特定符号需要配合 Shift
- 键,比如字母键盘区上面的数字区:!@#%%^&*()
- 要按出冒号键
:
也是需要 Shift 的
3.移动
j
,下k
,上h
,左l
,右v
,按 v 之后按方向键可以选中你要选中的文字gg
,跳到第 1 行G
,跳到第最后行16G
或:16
,跳到第 16 行$
,到本行 行尾0
,到本行 行头w
,到下一个单词的 开头e
,到下一个单词的 结尾Ctrl + u
,向文件 首翻 半屏Ctrl + d
,向文件 尾翻 半屏Ctrl + f
,向文件 尾翻 一屏Ctrl + b
,向文件 首翻 一屏*
,匹配光标当前所在的单词,移动光标到 下一个 匹配单词#
,匹配光标当前所在的单词,移动光标到 上一个 匹配单词^
,到本行第一个单词头g_
,到本行最后一个单词尾巴%
,匹配括号移动,包括 (、{、[
4.插入
I
,在当前 行首 插入A
,在当前 行尾 插入i
,在当前字符的 左边 插入a
,在当前字符的 右边 插入o
,在当前行 下面 插入一个新行O
,在当前行 上面 插入一个新行
5.删除
x
,删除 光标后 的 1 个字符
2x
,删除 光标后 的 2 个字符
X
,删除 光标前 的 1 个字符
2X
,删除 光标前 的 2 个字符
dd
,删除当前行
cc
,删除当前行后进入 insert 模式
dw
,删除当前光标下的单词/空格
d$
,删除光标至 行尾 所有字符
dG
,删除光标至 文件尾 所有字符
3dd
,从当前光标开始,删掉 3 行
echo > aa.txt
,从 bash 角度清空文件内容,这个比较高效
复制
y
,复制光标所选字符
yw
,复制光标后单词
yy
,复制当前行
4yy
,复制当前行及下面 4 行
y$
,复制光标位置至 行尾 的内容
y^
,复制光标位置至 行首 的内容
粘贴
p
,将粘贴板中内容复制到 光标之后
P
,将粘贴板中内容复制到 光标之前
其他
ddp
,交换当前光标所在行和下一行的位置u
,撤销:wq
,退出并 保存:q!
,退出并 不保存Ctrl + v
,进入 Vim 列编辑guu
,把当前行的字母全部转换成 小写gUU
,把当前行的字母全部转换成 大写g~~
,把当前行的字母是大写的转换成小写,是小写的转换成大写:saveas /opt/setups/text.txt
,另存到 /opt/setups/text.txt
6.搜索
/YouMeek
,从光标开始处向文件尾搜索 YouMeek 字符,按 n
继续向下找,按 N
继续向上找
?YouMeek
,从光标开始处向文件首搜索 YouMeek 字符,按 n
继续向下找,按 N
继续向上找
替换
:%s/YouMeek/Judasn/g
,把文件中所有 YouMeek 替换为:Judasn:%s/YouMeek/Judasn/
,把文件中所有行中第一个 YouMeek 替换为:Judasn:s/YouMeek/Judasn/
,把光标当前行第一个 YouMeek 替换为 Judasn:s/YouMeek/Judasn/g
,把光标当前行所有 YouMeek 替换为 Judasn:s#YouMeek/#Judasn/#
,除了使用斜杠作为分隔符之外,还可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,该命令表示:把光标当前行第一个 YouMeek/ 替换为 Judasn/:10,31s/YouMeek/Judasng
,把第 10 行到 31 行之间所有 YouMeek 替换为 Judasn
7.Vim 的特殊复制、黏贴
- Vim 提供了 12 个剪贴板,分别是:
0,1,2,3,4,5,6,7,8,9,a,"
,默认采用的是"
,也就是双引号,可能你初读感觉很奇怪。你可以用 Vim 编辑某个文件,然后输入::reg
。你可以看到如下内容:
- 复制到某个剪切板的命令:
"7y
,表示使用 7 号剪切板。 - 黏贴某个剪切板内容:
"7p
,表示使用 7 号剪切板内容进行黏贴
8.Vim 配置
我个人本地不使用 Vim 的,基本上都是在操作服务器的时候使用,所以这里推荐这个配置文件
- vim-for-server
- 在假设你已经备份好你的 Vim 配置文件后,使用该配置文件:
curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
需要特别注意的是,如果你平时粘贴内容到终端 Vim 出现缩进错乱,一般需要这样做:
- 进入 vim 后,按
F5
,然后shirt + insert
进行粘贴。这种事就不会错乱了。 - 原因是:
vim ~/.vimrc
中有一行这样的设置:set pastetoggle=<F5>
END
2018年12月26日11:35:40
18.Vim基础指令(自用)——2019年12月13日的更多相关文章
- 16.go语言基础学习(上)——2019年12月16日
2019年12月13日10:35:20 1.介绍 2019年10月31日15:09:03 2.基本语法 2.1 定义变量 2019年10月31日16:12:34 1.函数外必须使用var定义变量 va ...
- 36.React基础介绍——2019年12月24日
2019年12月24日16:47:12 2019年10月25日11:24:29 主要介绍react入门知识. 1.jsx语法介绍 1.1 介绍 jsx语法是一种类似于html标签的语法,它的作用相当于 ...
- 20.Nodejs基础知识(上)——2019年12月16日
2019年12月16日18:58:55 2019年10月04日12:20:59 1. nodejs简介 Node.js是一个让JavaScript运行在服务器端的开发平台,它让JavaScript的触 ...
- 19.go语言基础学习(下)——2019年12月16日
2019年12月16日16:57:04 5.接口 2019年11月01日15:56:09 5.1 duck typing 1. 2. 接口 3.介绍 Go 语言的接口设计是非侵入式的,接口编写者无须知 ...
- 日常Git使用——2019年12月11日16:19:03
1.git介绍 1.1 什么是git? 什么是Git? 比如一个项目,两个人同时参与开发,那么就把这个项目放在一个公共的地方,需要的时候都可以去获取,有什么改动,都可以进行提交. 为了做到这一点,就需 ...
- 34.ITerm配置使用——2019年12月24日
2019年12月23日15:17:36 ITerm使用教程 1.快键键配置 设置方法 设置方法如下: (1)选择 Preference 进入偏好设置: (2)选择 Profiles > Keys ...
- AHKManager.ahk AHK管理器 2019年12月15日
AHKManager.ahk AHK管理器 2019年12月15日 快捷键 {Alt} + {F1} ///////////////////////////////////////////// ...
- 35.ES6语法介绍——2019年12月24日
2019年12月24日16:22:24 2019年10月09日12:04:44 1. ES6介绍 1.1 新的 Javascript 语法标准 --2015年6月正式发布 --使用babel语法转换器 ...
- 24.mongodb可视化工具部署——2019年12月19日
2019年10月09日17:05:54 教程链接:https://blog.csdn.net/qq_32340877/article/details/79142129 项目名:adminMongo g ...
随机推荐
- 20180826(05)- Java URL处理
Java URL处理 URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址.表示为互联网上的资源,如网页或者FTP地址. 本章节我们将介绍Java是 ...
- NOIp 图论算法专题总结 (1):最短路、最小生成树、最近公共祖先
系列索引: NOIp 图论算法专题总结 (1) NOIp 图论算法专题总结 (2) NOIp 图论算法专题总结 (3) 最短路 Floyd 基本思路:枚举所有点与点的中点,如果从中点走最短,更新两点间 ...
- Only variables should be passed by reference
报错位置代码: $status->type = array_pop(explode('\\',$status->type)) (此处$status->type值原本是 APP\ ...
- Sabotage 【UVA - 10480】【最大流割边】
题目链接 很容易会想到是最大流建边,但是同样的这里有坑点,就是有的人去输出边的时候,去把残余网络的流为0的边给输出了,其实不然,我们应当输出的是那些最后跑到深度为0的不能再走下去的点,只要把他们割了, ...
- 机器学习实战笔记-5-Logistic回归
Logistic回归 优缺点 适用范围 优点:计算代价不高,易于理解和实现. 缺点:容易欠拟合,分类精度可能不高. 适用于:数值型和标称型数据. 仅用于二分类 原理: 每个特征都乘以一个回归系数> ...
- CentOS7和Ubuntu18.10下运行Qt Creator出现cannot find -lGL的问题的解决方案
解决方法:缺少相应的opengl的库,需要安装opengl库 一.Ubuntu下解决Qt5.11.1 cannot find -lGL 有两种原因: 一种是没有按照libGL库,那么就安装: sudo ...
- [SDOI2019]快速查询
[SDOI2019]快速查询 [题目链接] 链接 [思路要点] 据说是 \(\text{SDOI2019}\) 最水的题 操作次数为 \(1e7\) 范围,显然要求每次操作 \(\mathcal{O} ...
- 【转载】ROS系统整体架构
目录 1.从文件系统级理解 2.从计算图级理解 3.从开源社区级理解 由于ROS系统的组织架构比较复杂,简单从一个方面来说明很难说清楚.按照ROS官方的说法,我们可以从3个方面来理解ROS系统整体架构 ...
- [Bzoj1047][HAOI2007]理想的正方形(ST表)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1047 题目虽然有一个n的限制,但求二维区间最值首先想到的还是RMQ,但是如果按照往常RM ...
- 物流运输(最短路+dp)
这道题是相当的火,但是在tyher的讲解下我一遍就AC了!!! Part 1 理解题目 从第一天到最后一天,总会有一些点莫名其妙地走不了,所以导致我们不能按照上一次的最短路一直运输得到最少费用,而需要 ...