[Vim] 03 凡人进阶
目录
0. 前言
- 上回 [Vim] 01 凡人操作 已经提及的,本次略过
1. 按下 Esc, 进入编辑模式
(1) 定位
| 命令 | 释义 |
|---|---|
| ^ | 将粗光标定位到行首 |
| b | 1) 将粗光标定位到所在“单词”首位 2) 若已经在词首,则跳到上一个(若有)词的词首 3) 这里的“单词”并非严格意义的单词,变量名也算;遇到标点符号也会被分割 |
| e | 1) 将粗光标定位到所在“单词”末尾 2) 若已经在词尾,则跳到下一个(若有)词的词尾 |
| w | 将粗光标定位到下一个(若有)“单词”的词首 |
(2) 删除
1) 不进入插入模式的删除
| 命令 | 释义 |
|---|---|
| d0 | 1) 0 为数字 2) 在粗光标所在行,删除粗光标之前的所有字符 |
| d^ | 同上面的 d0 |
| d$ | 在粗光标所在行,将粗光标前移一个字符,然后删除粗光标之后的所有字符 |
| db | 在粗光标所属“单词”中 1) 若粗光标不在词首,则删除粗光标之前的所有字符,粗光标选中的字符不变 2) 若粗光标在词首,则向左删除至前一个“单词”的词首,粗光标选中的字符不变 |
| de | 在粗光标所属“单词”中 1) 若粗光标不在词尾,则删除粗光标选中处及其后的所有字符, 粗光标跳到原词末尾的右边一格 2) 若粗光标在词尾,则从粗光标选中字符开始向右删除至后一个“单词”的词尾, 粗光标跳到被完整删除的”单词“的右边一格 |
| dw | 从粗光标选中处开始向后删至下一个”单词“的词首(不包括词首) |
| dh | 删除粗光标左边的一个字符(若有),粗光标选中的字符不变 |
| X | X 为大写,效果同上面的 dh |
| dl | 1) l 是 L 的的小写 2) 若粗光标不在行尾,则删除粗光标选中的字符,粗光标跳到原字符的右边一格 3) 若粗光标在行尾,则删除粗光标选中的字符后,粗光标跳到新的行尾 |
| x | x 为小写,效果同 del键与上面的 dl |
| dj | 删除粗光标所在行及其下一行,粗光标跳到原行的下下行行首 |
| dk | 删除粗光标所在行及其上一行,粗光标跳到原行的下一行行首 |
| dgg | 删除从全篇开头到粗光标所行的所有内容,粗光标跳到原行的下一行行首 |
| dG | 删除从粗光标所行到全篇结尾的所有内容,粗光标跳到原行的上一行行首 |
2) 进入插入模式的删除
| 命令 | 释义 |
|---|---|
| s | 1) s 为小写 2) 删除粗光标所选中的字符,并进入插入模式 |
| S | 1) S 为大写 2) 清空粗光标所在行,并进入插入模式 3) 进入插入模式的光标留在该行 |
| C | 1) C 为大写 2) 在粗光标所在行,从粗光标选中字符开始删至行尾,并进入插入模式 |
| c$ | c 为小写(此表从这一行开始,下方的 c 均为小写),效果同上面的 C |
| c0 | 相当于执行 d0 后,进入插入模式 |
| c^ | 效果同上面的 c0 |
| cb | 相当于执行 db 后,进入插入模式 |
| ce | 相当于执行 de 后,进入插入模式 |
| cw | 相当于执行 dw 后,进入插入模式 |
| ch | 相当于执行 dh 后,进入插入模式 |
| cl | 相当于执行 dl 后,进入插入模式 |
| cj | 删除粗光标所在行,清空其下一行并进入插入模式,光标跳到原行的下一行行首 |
| ck | 删除粗光标所在行,清空其上一行并进入插入模式,光标跳到原行的上一行行首 |
| cc | 清空粗光标所在行并进入插入模式 |
3. 10 个特殊字符
.、*、[、]、^、%、/、?、~、$
在使用搜索命令时,若遇到以上 10 个特殊字符,需在前加上转义字符
\上回说到的搜索命令为
/String,其实,使用?String也行
4. 在 gVim 下执行命令
(1) 执行 Shell 命令
:! ls / # 使用 ls
:w filename # 文件另存为,新文件名为 filename
(2) 局部内容另存为
- 按组合键
ctrl + v进入可是模式 - 使用方向键选择内容
- 按组合键
shift + :进入命令模式 - 输入
w filename进行另存为,新文件名为 filename - 若上一步输入
w! filename,意为强制覆盖
(3) 合并文件
:r filename # 将 filename 这个文件中的内容添加到当前文件中
(4) 打开多个文件
- 在命令行下
- 需要设置好 gVim 的环境变量
- 进入目标文件夹
- 输入
vim -o filename1 filename2 ...,其中 o 为小写字母,文件垂直分布 - 输入
vim -O filename1 filename2 ...,其中 O 为大写字母,文件水平分布 - 用
ctrl + w + w可以在各文件中切换 - 用普通方法,如
:q、:wq、q!、:wq!、ZZ等可以一个一个地退出 - 用
:wqa、:qa!可以一起退出
5. 致谢
- 几年前的某个暑假,在网上搜到“小甲鱼”老师的《VIM 快速入门》”公开课
- 虽然不是计算机专业,但因为好奇听了课并做了笔记。现在翻出了当时做的笔记,整理了这篇随笔
- 在此感谢“小甲鱼”老师
- 我在网上找到了当时的课程,在此附上地址:VIM 快速入门
[Vim] 03 凡人进阶的更多相关文章
- [Vim] 01 凡人操作
历史评价 编辑器之神 一个凡人的自我修养 成神是不可能成神的,只能是先入个门,然后一点一点学 Vim 官网 三种模式 插入模式(注意看光标) 命令模式(注意看光标) 编辑模式(注意看光标) 其实还有一 ...
- 03: django进阶篇
1.1 cookie 1.cookie简介 1. cookie实质就是客户端硬盘中存放的键值对,利用这个特性可以用来做用户验证 2. 比如:{“username”: “dachengzi”} #再次访 ...
- 打造适合自己的vim编辑器方法总结
vim使用方法总结 说明:这是打造适合自己的vim编辑器的进阶方法,关于vim基础知识,请自行百度.也可参考文章末尾推荐blog网址 如果觉得自己打造vim编辑器麻烦,可以从github上面克隆一个, ...
- 一段奇妙的vim编辑器之旅
一.背景 对于Linux服务器上的操作,我们往往少不了使用vim,而有时候我对vim的使用并没有那么的熟练和深入,这周就深入的学习了vim的使用,包括入门和进阶,先分享给你们,也方便自己以后复习查询. ...
- 随处可编辑的编辑器之神VIM
据说这世界上只有三种编辑器:Vim,Emacs 和 其他编辑器,其中 Vim 被称作编辑器之神,Emacs 被称作神的编辑器,当然,其他编辑器永远只能是其他编辑器. 拿一位 网友的话 来说,VIM 的 ...
- 看漫画就能学SQL,简直太cool了
对于SQl, 很多人学不会的原因是从一开始就没明白,学这东西能干啥,学会了能有什么用.甚至有些人不知道'SQL'应该怎么读,以至于一开始兴致勃勃,但是学到一半放弃了. 注意:'sql'真的不能读成'烧 ...
- 第3篇K8S集群部署
一.利用ansible部署kubernetes准备: 集群介绍 本系列文档致力于提供快速部署高可用k8s集群的工具,并且也努力成为k8s实践.使用的参考书:基于二进制方式部署和利用ansible- ...
- [No00004F]史上最全Vim快捷键键位图(入门到进阶)
史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版 下 ...
- 【T-SQL进阶】03.执行计划之旅-1
到大牛们说执行计划,总是很惶恐,是对知识的缺乏的惶恐,所以必须得学习执行计划,以减少对这一块知识的惶恐,下面是对执行计划的第一讲-理解执行计划. 本系列[T-SQL]主要是针对T-SQL的总结. T- ...
随机推荐
- u-boot-2016.09 make编译过程分析(一)
https://blog.csdn.net/guyongqiangx/article/details/52565493 综述 u-boot自v2014.10版本开始引入KBuild系统,Makefil ...
- [转帖]ssh 远程执行命令
ssh 远程执行命令 https://www.cnblogs.com/youngerger/p/9104144.html SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是 ...
- react native之封装离线缓存框架
请求数据=>本地有无缓存+缓存数据是否过期 =>可用 =>不可用 将代码封装成一个DataStore.js文件, 这里面主要提供:从本地获取数据,从网络获取数据,创建本地时间戳,请求 ...
- Comet OJ - Contest #6 C 一道树题 数学 + 推导
Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) ...
- Java——面向对象编程
在面向对象的编程中,不能再有第一步.第二步怎么做的概念. [对象和类]
- docker 安装MongoDB以及设置用户
MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序. 1.查看可用的 MongoDB 版本 访问 MongoDB 镜像库地址: https://hub.docker.com/_/ ...
- [CSP-S模拟测试]:big(Trie树+贪心)
题目描述 你需要在$[0,2^n)$中选一个整数$x$,接着把$x$依次异或$m$个整数$a_1~a_m$.在你选出$x$后,你的对手需要选择恰好一个时刻(刚选完数时.异或一些数后或是最后),将$x$ ...
- Prototype js library
Prototype An object-oriented JavaScript framework Prototype is a JavaScript framework that aims to e ...
- ORACLE DG添加redo日志成员
ORACLE DG在线日志添加日志成员 SQL>select SEQUENCE#,first_time,next_time,APPLIED, THREAD# from v$archived_lo ...
- MySQL的性能指标计算和优化方法
MySQL的性能指标计算和优化方法1 QPS计算(每秒查询数) 针对MyISAM引擎为主的DB mysql> show global status like 'questions';+----- ...