vim的常见操作
vim常见操作
复制
yank, y
yy:复制整行 nyy/yny
y^/y0:复制当前行到行头的内容
y$:复制当前到行尾的内容
yw:复制一个word nyw/ynw 复制n个word
yG:复制到文档结尾 nyG/ynG :删除当前光标所在行到第n行
剪切(删除)
delete, d
操作类似于复制,此处不赘述
dd
dj/dk:删除上/下一行
d^/d0
d$=D
dw
daw:删除当前字符所在单词
dG
x:删除当前光标所在字符,相当于delete
X:删除光标前一个字符,相当于backspace
nx/nX
粘贴
put, p
p:小写p代表贴至游标后,整行复制贴在游标下行
P:大写P代表贴至游标上,整行复制贴在游标上方
tips:
u:撤回上一个动作
ctrl + r:恢复上一个动作
.:重复上一个动作
选择
v:按行选择
ctrl+v:按块选择
全选:ggvG/ggVG (gg是为了回到文档第一行)
选中之后可按y复制或者d剪切,然后p粘贴
移动光标
ctrl + f:向下移动一页
ctrl + b:向上移动一页
0/home:移动到本行最前面
$/end:移动到本行行尾
G:移动到文档最后一行
gg:移动到文档第一行
nG:n为数字,移动到文档的第n行
n<enter>:n为数字,光标向下移动n行
h/j/k/l 左/上/下/右移动
nh/j/k/l n为数字
搜索替换
/<word>:向光标之下搜索字符串<word>
?<word>:向光标之上寻找字符串<word>
*:向后(下)寻找游标所在处的单词
#:向前(上)寻找游标所在处的单词
fx 找到光标后第一个为x的字符 3fd 找到光标后第三个为d的字符
F 同f,反向查找。
tips:
配合n/N使用向上/下继续查找要搜索的word
:set ignorecase 不区分大小写 :set smartcase:区分大小写
若想只在查找某个字符串时忽略大小写,只需在字符串前加
\c,如:/\cword;大小写铭感则是/\Cword/word\>表示只匹配以word为结尾的单词;/\<word表示只匹配以word为开头的单词;/\<word\>表示匹配完整的word这个单词
cc:替换本行,即删除当前行并在此行插入
cw:替换本单词,即删除当前单词并在此插入
~:反转游标所在字母的大小写
:s/word1/word2/ 替换当前行第一个 word1为 word2
:s/word1/word2/g 替换当前行所有 word1为 word2
:n1,n2s/word1/word2/:在n1-n2行搜索,,每一行的第一个word1用word2替代
:n1,n2s/word1/word2/g:在n1-n2行搜索,所有word1用word2替代
:%s/word1/word2/(等同于 :g/word1/word2/) 替换每一行的第一个 word1为 word2
:%s/word1/word2/g(等同于 :g/word1/word2/g) 替换每一行中所有 word1为 word2
:.,+ns/word1/word2/g:n为数字,表示在当前行以及+n中进行替换
:1,$s/word1/word2/g或者:%s/word1/word2/g:第一行到最后一行搜索word1并用word2替代
:1,$s/word1/word2/gc或者:%s/word1/word2/gc:第一行到最后一行搜索word1并用word2替代,替代前需要用户确认是否替换
conclusion:
g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对文档中所有包含搜索字符串的行进行替换操作。
vim 环境调整
:set nu/number 显示行号
:set nonu 不显示行号
:set smartindent 自动缩进
vim的常见操作的更多相关文章
- 超级编辑器--VIM的常见操作
如下,都是我常用的 删除单词: d + w 关闭vim窗口: :q 或者 shift + zz 全部向左移: shift + v ---> shift + < ---&g ...
- Linux常见操作
前面的话 本文将详细介绍Linux常见操作 基本概念 Linux严格区分大小写,所有内容以文件形式保存,包括硬件 Linux没有扩展名的概念,不靠扩展名来区分文件类型.但有一些约定俗成的扩展名 压缩包 ...
- mongodb数据库安装及常见操作
客户端和服务端的安装 # rpm -ivh mongo-10gen-2.4.6-mongodb_1.x86_64.rpm mongo-10gen-server-2.4.6-mongodb_1.x86_ ...
- github常见操作和常见错误及其解决办法
一.常见操作 1. 使用git在本地创建一个项目的过程 $ makdir ~/hello-world //创建一个项目hello-world $ cd ~/hello-world //打开这个项目 $ ...
- vim 常用的操作指令
vim(vi improve).命令行下的一些常见操作: 移动光标: 0:将光标移动到该行的最前面: $:将光标移动到该行的最后面: G:移动到最后一行的开头: {/}:将光标移动到前面或者后面的{/ ...
- 动态单链表的传统存储方式和10种常见操作-C语言实现
顺序线性表的优点:方便存取(随机的),特点是物理位置和逻辑为主都是连续的(相邻).但是也有不足,比如:前面的插入和删除算法,需要移动大量元素,浪费时间,那么链式线性表 (简称链表) 就能解决这个问题. ...
- C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- X-Cart 学习笔记(四)常见操作
目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 五.常见 ...
- 转:jQuery 常见操作实现方式
http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备 ...
随机推荐
- Spring Cloud学习 之 Spring Cloud Ribbon 重试机制及超时设置不生效
今天测了一下Ribbon的重试跟超时机制,发现进行的全局超时配置一直不生效,配置如下: ribbon: #单位ms,请求连接的超时时间,默认1000 ConnectTimeout: 500 #单位ms ...
- Fortify Audit Workbench 笔记 File Disclosure: Spring 文件泄露(Spring框架)
File Disclosure: Spring 文件泄露(Spring框架) Abstract 若通过用户输入构造服务器端重定向路径,攻击者便能够下载应用程序二进制码(包括应用程序的类或 jar 文件 ...
- 从浅入深——理解JSONP的实现原理
由于浏览器的安全性限制,不允许AJAX访问 协议不同.域名不同.端口号不同的 数据接口,浏览器认为这种访问不安全: 可以通过动态创建script标签的形式,把script标签的src属性,指向数据接口 ...
- DP动态规划之01背包问题
目录 问题描述 问题分析 问题求解 Java代码实现 优化方向一:时间方面:因为是j是整数是跳跃式的,可以选择性的填表. 思考二:处理j(背包容量),w(重量)不为整数的时候,因为j不为整数了,它就没 ...
- swagger集成遇到的坑一个
SpringBoot项目集成swagger项目遇到一个问题: 访问swagger-ui.html 没有加载到数据,也没有加载到页面的html和css资源 除了 1.添加swagger的pom依赖 2. ...
- 手把手numpy教程【二】——数组与切片
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Numpy专题的第二篇,我们来进入正题,来看看Numpy的运算. 上一篇文章当中曾经提到过,同样大小的数据,使用Numpy的运算速度会 ...
- 8086 8255A proteus仿真实验
目录 实验内容 电路图 电路分析 代码 实验内容 数码管循环显示0123456789abcdef- 电路图 电路分析 端口地址和控制字地址主要看电路图,片选信号由译码器的\(\overline{IO1 ...
- nginx之启停操作及配置文件语法检测
nginx的启停操作 ----nginx 启动 ----nginx -s stop 停止 ----nginx -s reload 重新加载 nginx -t 修改配置文件之后进行语法检验
- [前端进阶课] 构建自己的 webpack 知识体系
webpack webpack 最出色的功能之一就是,除了 JavaScript,还可以通过 loader 引入任何其他类型的文件. Webpack 核心概念: Entry(入口):Webpack 执 ...
- oracle [精华] 你是否仍迷信rowid分页?
http://www.itpub.net/thread-1603830-1-1.html