上一篇文章中,简单列出了一些基本的Vim操作,也列出了很多的光标移动命令,本章主要是有哪些命令可以更快的移动光标。

vim的编辑操作,用得最多就是移动光标,对于很少行的文件来说,基本的命令就够用了,但是大部分情况是,每个文件都有成百上千行,基本的移动光标的命令就显得很笨拙了。故单独一章来讲述怎么更快速的移动光标,可参见下面的命令:

以屏幕为参考移动光标

CTRL-f ---- 光标向下移动一个屏幕

CTRL-b ---- 光标向上移动一个屏幕

CTRL-d ---- 光标向下移动半个屏幕

CTRL-u ---- 光标向上移动半个屏幕

设置光标相对 与屏幕的位置

z ENTER ---- 移动当前行到屏幕的顶部

z . ----- 移动当前行到屏幕的中间

z - ---- 移动当前行到屏幕的底部

重绘当前屏幕  CTRL-L  (使用场景不是很明白)

在屏幕内快速移动光标

H ---- 移动到当前屏幕的首行

M --- 移动到当前屏幕的中间

L ---- 移动到当前屏幕的底部

[number]-H ---- 移动到相对与首行,向下[number-1]行

[number]-L ---- 移动到相对于最后一行,向上[number-1]行

相对于行的移动

+/ENTER --- 移动下一行的开头,忽略空白/TAB

- ---- 移动到上一行的靠头,忽略空白/TAB

在当前行内移动

^  ---- 移动当前行的开头,忽略空白/Tab(0:移动到当前行的开头,但不忽略空白/TAB)

[number]-|(竖线) ---- 移动到当前行的[number]列

根据文本快移动

上一篇有列出部分(w,W,b,B),下面的命令也是文本移动命令

e ---- 移动到单词结尾

E ---- 移动到单词结尾,忽略标点符号

( / ) ---- 移动到句子块头/结尾 (匹配?  .  ! + 最少一个空格/该行的最后一个字符)

{ / } ---- 移动到段落的开头/结尾

[[ / ]] --- 移动到章节的开头/结尾

用搜索来移动光标

上一篇也讲到基本的搜索命令,下面补充一些特殊用法

删除/修改搜索结果

[d/c] [/ / ?] [pattern] ---- 删除或修改向前或向后搜索结果

在当前行搜索

f / F - character  ---- 在当前行向后/向前查找字符

t / T - character  ----- 在当前行向后/向前查找字符,并把光标设置在匹配字符前/后一个位置

; ----- 重复执行上次的查找

, ----  重复反向执行上次的查找

vi/vim使用指北 ---- Moving Around in a Hurry的更多相关文章

  1. vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记

    vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...

  2. vi/vim使用指北 ---- Introducting the ex Editor

    本章介绍ex编辑器,为什么要介绍这样一个新的编辑器呢:其实ex编辑器不能算是一个新的编辑器,vi只是它的visual model,它已经是一个更普遍,基于行的编辑器.ex提供更大机动和范围的编辑命令. ...

  3. vi/vim使用指北 ---- Beyond the Basic

    更多的组合命令 [number]-[command]-[test object] number:   数字 comand:  c,d,y  (修改,删除,复制) test object: 移动光标的命 ...

  4. vi/vim使用指北 ---- Sample Editing

    本篇介绍vim的基础操作,各种编辑模式的切换,光标的移动,删除,撤销/重做,保存,查找等基础命令: 基础操作 编辑文件 vim  [options] [file ...] 模式 打开文件后进入vim的 ...

  5. vim使用指北 ---- Advanced Editing

    本节介绍vi和ex的一些高级功能. 配置vi 配置文件.exrc可以保存在你的主目录下,在vi启动的时候执行这个配置文件.但在当前工作目录下可以放置一个配置文件,对当前目录做一个自定义配置. :set ...

  6. vim使用指北 ---- Multiple Windows in Vim

    多窗口打开多个文件 vim -o file1 file2 ... ---- 默认上下分割窗口 vim -0n file1 file2 ... ---- vim默认会上下等分n个窗口 分割窗口 :[v] ...

  7. vim使用指北 ---- Global Replacement

    一般替换 s/old/new   --- 替换当前行的第一个匹配项 s/old/new/g ---- 替换当前行所有的匹配项 number1,number2-s/old/new/g  ---- 替换从 ...

  8. 【转载】vi/vim使用进阶: 指随意动,移动如飞 (二)

    本节所用命令的帮助入口: :help usr_03.txt :help motion.txt :help usr_29.txt :help scroll.txt :help folding 上一篇文章 ...

  9. 【转载】vi/vim使用进阶: 指随意动,移动如飞 (一)

    vi/vim使用进阶: 指随意动,移动如飞 (一) << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help usr_03.txt :help motion.txt :hel ...

随机推荐

  1. WPF 中的字号问题

    用WPF搞打印机真是各种碰壁,尤其是对于我这个没有搞过打印机的人来说,更是遍布神坑T_T. 今天敲代码的时候发现字体的FontSize貌似跟单位也有关系啊,因为打印的时候效果感觉和预期竟然是有着差距的 ...

  2. sql server 判断是否存在数据库,表,列,视图

    1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名] 2 判断表 ...

  3. instanceof、==号、Objetc类

    1)instanceof: 判断某个对象是否为某个类的实例,注意多态的运用,一个父类引用指向子类的对象,根据继承,子类就是父类,所以子类也可以看做是父类的一个实例.  形式:引用 instanceof ...

  4. goto语句 switch语句

    goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...

  5. 菜鸟学习Spring——第一个例子

    一.概述 原来我们利用工厂来实现灵活的配置.现在利用Spring以后把这个交给了IoC容器管理.我们只要在XML文件上配上就可以了这样的话就节省了很多开发时间我们不需要知道后面的有多少只要动态的配上类 ...

  6. kettle过滤、生成随机数、改变开始复制数量

    下面是一个用Kettle实现数据过滤.生成随机数.改变开始复制数量的连贯示意图. 首先,我们将控件一一建立,通过hop建立连接 下面对每一个控件进行设置 1.生成随机数控件(随机取一个数字与字符串) ...

  7. [Environment Build] Maven环境配置

    1. 下载并解压maven文件 2. 在环境变量中配置一个JAVA_HOME的变量,指向你本地的JDK 3. 在系统变量中新建一个名为:MAVEN_HOME的变量,指向你的maven解压文件的bin目 ...

  8. 混合使用C和C++

    C++作为C语言的扩展集,几乎所有的C程序都可以在C++中编译和运行,但是要注意C程序中可能使用了C++中的关键字作为变量,比如在C中:int class = 0; 但这在C++中不行.出于方便性,我 ...

  9. 初识MVC,MVC里面的基本数据传递

          MVC是一种表现形式,他将Web应用程序分成三个组件即:视图(View)控制器(Controller)模型(Model). M:Model 主要是存储或者是处理数据的组件 V:View 是 ...

  10. inout用法浅析

    inout io_data; reg out_data; reg io_link; assign io_data=io_link? out_data:'bz; //当IO_data作为输入口使用时,一 ...