上古神器vim系列之移动三板斧
[导读] 前文总结了vim如何进入,如何保存退出,如何进入编辑模式。本文来总结一些稍微进阶的内容,在normal模式下如何高效的浏览代码。
模式回顾

在normal模式下主要用于浏览代码,那么有哪些方式可以达成移动光标呢,这里总结了从最简易的hjkl键对应单字符移动,到更为高效的移动方式。
Normal模式之乾坤大挪移
注:下面描述的内容都是在normal模式下的光标移到方式
字符移动初级版本:

字移动中级版本:

行段移动进阶版本
- 0 键移动到当前行首
- ^ 键移动到当前行首单词首部
- $ 键移动到当前行尾部字符
- 键移动到下一行首字符
- - 键移动前一行首部
- { 移动到当前段首部
- } 移动到当前段尾部
注:段是以空行进行分隔的。
高阶移动版本
- gg移动到文件第一行首部
- G移动到文件的尾部
- NG或Ngg移动到第N行,如20G或20gg,表示向移动到第20行
- x% 向上移动百分比x,如10%
- % 按匹配移动
- set matchpairs+=< : > , « : »
高阶版本,大块滚动
- CTRL-F 向下翻一个窗口
- CTRL-D 向下翻半个窗口
- CTRL-U 向上翻半个窗口
- CTRL-B 向上翻一个窗口
可视模式之妙用
有啥用?这是用于选取文本的:
- v 进入字符可视选择模式,文本选择是以字符为单位的。
- V或者shift-v进入行可视选择模式,文本选择是以行为单位的。
- Ctrl+v 进入块可视化模式,字符移动键可以选择一个矩形内的文本。
来个栗子:

进入对应模式后,按字符移动键可以实现基本选取功能。这里还将可视模式的一些快捷操作方式总结一下:
- vi< 选中<>中间内容
- vi[ 选中[]中间内容
- vit 选中中间的内容
- vi” 选中”"中间内容
- vi’ 选中”中间的内容、
- vis 选中一个句子
- vib 选中一个block
- viw 选中一个单词
- vip 选中一个段落
选择了文本,就可以实现前文说的复制、粘贴、剪切、删除等操作。
- y实现复制选中的内容,Y实现复制选中内容及其所在的行
- d实现删除选中的内容,D实现删除选中内容及其所在的行
- d实现剪切选中的内容,D实现剪切选中内容及其所在的行
- p或P 在当前位置粘贴剪贴板的内容,p 粘在光标所在字符后面,P 粘在前面。
- “>”和“<" 将选中字符右移或左移 shiftwidth位置
- u U ~ 分别是所有字母变小写、变大写、反转大小写
- r字符 所有字符替换为新字符,新字符为按完r键后续按的字符
总结一下:
这里总结了常见的各种移动光标的方式,为啥弄这么复杂,因为编辑代码的时候,如果都逐字符移动,这一定时不能忍受的。另外对于可视模式使用非常频繁,这个属于基本功能,也需要多加练习。用的熟了,复制、粘贴、修改才能如鱼得水。
文章出自微信公众号:嵌入式客栈,更多内容,请关注本人公众号,严禁商业使用,违法必究

上古神器vim系列之移动三板斧的更多相关文章
- 8. VIM 系列 - 利用 VIM 8.1 版本编译项目和GDB调试
目录 term 模式 termdebug 模式 VIM版本安装请参考: 0. VIM 系列 - 源码升级最新版本vim term 模式 输入:term 打开此模式,效果如下 这个模式有编辑文本窗口和s ...
- Vim 系列笔记一
Vim 系列笔记一 Vim 简介 什么是VIM ? Vim 是从 Vi 发展出来的一个编辑器,是 Vi 的升级版.而 vi 则是 Unix .类Unix(Linux)系统中自带的编辑器. Vim/Vi ...
- 9. VIM 系列 - YouCompleteMe 实现代码补全
目录 环境准备 插件安装 环境准备 $ sudo apt install build-essential cmake python3-dev python-dev $ sudo apt install ...
- 7. VIM 系列 - 程序员利器(语法检测、代码块补全、symbol管理、函数跳转)
目录 1. 语法检查利器 ale 2. 补全代码块 3. symbol 管理器 taglist.vim 4. 函数跳转 1. 语法检查利器 ale 安装 ale Plug 'w0rp/ale' 配置 ...
- 0. VIM 系列 - 源码升级最新版本vim
卸载原来的vim: $ sudo apt-get remove --purge vim $ suso apt-get clean 下载最新版本源码: $ git clone https://githu ...
- 6. VIM 系列 - 全局搜索(ctrlsf.vim)
目录 全局搜索利器 ag.vim 更强大的全局搜索利器 ctrlsf.vim 全局搜索利器 ag.vim 终端上安装ag: sudo apt install silversearcher-ag vim ...
- 5. VIM 系列 - 文件管理
目录 目录树 文件检索 ctrlp.vim fzf.vim 目录树 安装 nerdtree.vim 插件 Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeTo ...
- 4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页
目录 1. 缓冲区 2. 窗口 3. 标签页 4. 设置一下热键 1. 缓冲区 文件和缓冲区的区别 vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区, 当使用 ...
- 3. VIM 系列 - 遇见你的第一个插件
目录 1. 插件管理利器 vim-plug 1.1 安装插件管理器 1.2 配置插件管理器 1.3 安装插件 1.4 更新插件 1.5 回滚插件 1.6 卸载插件 1. 插件管理利器 vim-plug ...
随机推荐
- CF--思维练习--CodeForces - 219C Color Stripe (思维)
ACM思维题训练集合 A colored stripe is represented by a horizontal row of n square cells, each cell is paine ...
- Jenkins 部署(基于 windows)
一.安装 jdk,配置环境变量 二.安装 tomcat 和 jenkins 1.检查电脑上 8080 端口是否被占用: 命令行中输入:netstat -ano 2.下载Tomcat Tomcat官方网 ...
- 智能称体脂称实现(datasheet篇)
(本文均出于个人理解而写,仅用于学习和交流,某些过程可能不一定正确,希望各位提出意见进行交流,共同进步) TI的参考方案是采用AFE4300芯片 同时进行生物阻抗身体成分测量和体重测量,以MSP430 ...
- RocketMQ搭建全过程
RocketMQ下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.0/rocketmq-all-4.3.0-bin-relea ...
- ArcMap 0 (ArcGIS10.2安装)
一如GIS深似海,从此相逢是故人(这句话适合初步接触GIS的,我算是初窥门径.还是道行太浅,只是多了感慨) 前言: 1. 本人GIS专业,对于ArcGIS较为熟悉.由于专业和其它经历需要,接触过不少各 ...
- 经典卷积神经网络算法(1):LeNet-5
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- Java——异常那些事
异常的基本定义 异常情形是指阻止当前方法或者作用域继续执行的问题.在这里一定要明确一点:异常代码某种程度的错误,尽管Java有异常处理机制,但是我们不能以“正常”的眼光来看待异常,异常处理机制的原因就 ...
- ASP.NET Core中结合枚举和资源文件显示列表
模型类的某些属性以枚举形式出现,我们希望在打开编辑表单时在选择列表中显示枚举值.有时我们想要枚举元素名称,但有时我们想要使用自定义名称甚至翻译. 这个例子演示了如何获取枚举元素名称以选择ASP.NET ...
- Python自动生成100以内加减乘除混合运算题
import random from random import choice ops = ('+','-','×','÷') ans = [] i=0 while i < 100 : op1 ...
- 数据库连接池Druid的介绍,配置分析对比总结
Druid的简介 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBos ...