最近全面转换开发到Mac OS下,用MacVim作为IDE。记录一些Vim基本操作给自己备忘。

此次所说的都是在common-mode(c-mode,在Vim又名normal-mode,就是刚进入vim,不能输入文字的状态)下的移动,原始的vi 只能在c-mode 移动光标,在insert-mode 只做文字的输入,而不做光标的移动。当然Vim及elvis 的方向键是不论在那一种mode 皆可移动自如。

基本的光标移动

h 左,或Backspace 或方向键。
j 下,或Enter 或+(要Shift 键),或方向键。
k 上,或方向键或-(不必Shift 键)。
l 右,或Space 或方向键。
Ctrl+f PageDown 翻页(Forward,向前、下翻页)。
Crtl+b PageUp 翻页(Backward,向后、上翻页)。

同样的,比如20h,就是光标向左移动20字符;20j,光标向下移动20字符;其他类似。

使用 hjkl
键的移动是为了使手不必离开打字区(键盘中央的部位),以加快打字的速度,如果各位不习惯,那就使用方向键吧!其实,一旦习惯了以后,对于编辑工作的效率
会有很大的帮助,而且有许多工作站的vi 只能使用hjkl 的移动方式,因此可能的话,尽量熟悉hjkl 的光标移动。

BackspaceSpace的移动方式是到了行首或行尾时会折行,但方向键或hl 键的移动则在行首或行尾时您继续按也不会折行。转折换行的功能是Vim的扩充功能,elvis 无此功能。

jk 及使用方向键的上下移动光标会尽量保持在同一栏位。使用Enter,+,-的上下移动,光标会移至上(下)一行的第一个非空白字元处。

好像有点复杂,各位就暂时使用方向键来移动就简单明白了!等您爱上了Vim后再来讲究吧。

进阶的光标移动

0 是数目字0 而不是英文字母o。或是Home 键,移至行首,(含空白字元)。
^ 移至行首第一个非空白字元,注意,要Shift 键。
$ 移至行尾,或End 键。要 Shift 键。
G 移至档尾(全文最后一行的第一个非空白字元处)
gg 移至档首(全文第一行之第一个非空白字元处)。

在规则表示式(regular expression)中,^ 是匹配行首,$ 是匹配行尾。

gg 是Vim的扩充功能,在elvis 或原始vi 中可用1G 来移至档首(是数字1 不是英文字l )。 G 之原意是goto,指移至指定数目行之行首,如不指定数目,则预设是最后一行。

w 移至次一个字(word)字首。当然是指英文单字。
W 同上,但会忽略一些标点符号。
e 移至后一个字字尾。
E 同上,但会忽略一些标点符号。
b 移至前一个字字首。
B 同上,但会忽略一些标点符号。
H 移至屏幕顶第一个非空白字元。
M 移至屏幕中间第一个非空白字元。
L 移至屏幕底第一个非空白字元。这和PageDownPageUp 不一样,内文内容并未动,只是光标在动而已。
n| 移至第n 个字元(栏)处。注意,要用 Shift 键。 n 是从头起算的。
:n 移至第n 行行首。或 nG。

特殊的移动

) 移至下一个句子(sentence)首。
( 移至上一个句子(sentence)首。 sentence(句子)是以 . ! ? 为区格。
} 移至下一个段落(paragraph)首。
{ 移至上一个段落(paragraph)首。 paragraph(段落)是以空白行为区格。
% 这是匹配{},[],() 用的,例如光标在{ 上只要按%,就会跑到相匹配的} 上。

Vim光标移动的更多相关文章

  1. vi/vim 光标移动命令(转载)

    转载至:https://www.cnblogs.com/Jacklovely/p/6015037.html vi/vim 光标移动命令 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一 ...

  2. vi/vim 光标移动命令

    vi/vim 光标移动命令 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以 ...

  3. Vim光标定位

    *定位到指定行n: 输入"nG". 或输入"ngg". 或输入":n" 这里,n就是指定的行的行号.注意,有时候G=gg. *跳到屏幕顶部: ...

  4. vim光标移动、跳转

    这里记载我用到并需要下次会用的vim快捷键 vim的三个模式:命令行模式.插入模式.底行模式 从命令模式到插入模式: a 光标后输入 A 行尾输入 i 光标前输入 I 行首输入 o 上一行输入 O 下 ...

  5. vim 光标按行移动

    记录一下: [ H/M/L ] 注意:这几个命令是大写的. 使用H/M/L这三个键,可以让光标跳到当前窗口的顶部.中间.和底部,停留在第一个非空字符上.H命令和L命令前也可以加一个数字,但数字的含义不 ...

  6. vim 光标的移动和跳转文件的位置

    刚启动vim进入的就是命令模式 在命令模式下 h等于左箭头 j等于下箭头 k等于上箭头 l等于右箭头 想要多次移动可以使用30j或30↓向下移动30行 在命令模式下输入0跳到行头 在命令模式下输入$跳 ...

  7. vim光标操作

    v可视模式 ve可视模式但不包括selection o操作符等待模式 i插入模式 r替换模式(命令模式下,按r,输入一个字符将替换光标所在处字符) c命令行常规模式 ci命令行插入模式 cr命令行替换 ...

  8. VIM 光标移动常用命令

        h或^h 向左移一个字符  k或^p 向上移一行 j或^j或^n 向下移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开头 W 移到下一个字 ...

  9. Linux vim编辑器使用详解

    在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [root@xuegod163 ~]# rpm -qf `--1.8 ...

随机推荐

  1. shape及其子节点详解

    shape最大的最用便是用来替代图片,释放磁盘空间.另外则是增加适应不通过屏幕的设备. 先来看看shape下面的节点以及它所起到的作用. gradient   -- 对应颜色渐变(startcolor ...

  2. HTML5 + CSS3 + JavaScript

    http://www.programmer.com.cn/14761/#more-14761 文/李晶 随着互联网产业的爆炸式增长,与之伴生的Web前端技术也在历经洗礼和蜕变.尤其是近几年随着移动终端 ...

  3. Android中的四层架构,五块区域

    1. Linux内核层Android系统是基于Linux 2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动.音频驱动.照相机驱动.蓝牙驱动.Wi-Fi驱动.电源管理等.2 ...

  4. 小公司生存,一般活过第一年,就能撑3年(读书笔记:成败关键,关键是你是否拥有现金流客户)good

    小公司生存,一般活过第一年,就能撑3年,一般能撑过3年,到第7年遇到坎,如果第7年突破,能活过10年,是想死也不容易,等到第二个七年,可以搞搞人事地震了,因为要二次创业. -------------- ...

  5. 客户端把rsyslog重启,就会发送全部日志 --待研究

    客户端: uat-web02:/var/log/nginx# echo "scan-cccc21231">>scan.log uat-web02:/var/log/ng ...

  6. js中的数据类型及其转换

    Js中的数据类型 Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 一,number Number数据类型指的是数字,可以为整型, ...

  7. FilterDispatcher已被标注为过时解决办法

    一些struts2的教程都是比较早的,当我们基于较新版本的struts2来实现代码的时候,往往会出现一些问题.比如这个警告:FilterDispatcher isdeprecated! 在web.xm ...

  8. hive优化要点总结

    个人认为总体两种思想: 1.让服务器尽可能的多做事情,榨干服务器资源,以最高系统吞吐量为目标 再好的硬件没有充分利用起来,都是白扯淡. 比如: (1)  启动一次job尽可能的多做事情,一个job能完 ...

  9. HID class request.

    1.get report. 2.set report report request. Get report范例: 下面这张图是Host跟Device来要设备描述符. USB主机向设备控制器请求数据时, ...

  10. mybati之parameterType传递多个参数

    当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...