Vim系列之移动(三)

文章目录
  1. 1. 约定
  2. 2. 上下左右移动(基本操作)
  3. 3. 以word为单位的移动
  4. 4. 移动到行尾或行首
  5. 5. 移动到指定的字符上
  6. 6. 匹配括号的移动
  7. 7. 移动到指定位置
    1. 7.1. 移动到指定行位置
    2. 7.2. 移动到屏幕指定位置
    3. 7.3. 移动到文件指定位置
    4. 7.4. 显示当前位置
  8. 8. 滚动

约定

除特殊说明以外,本篇所有操作都是在普通模式下进行的。

上下左右移动(基本操作)

k/j/h/l可以操作光标在vim中上下左右移动。

k:光标向上移动一行

j:光标向下移动一行

h:光标向左移动一个字符

l:光标向右移动一个字符

数字N加上kjhl相当于连续N次操作,比如5j表示光标向下移动5行。

以word为单位的移动

w/b/W/B可以操作光标在vim中以word为单位移动。

w:光标向后移动一个word;特殊字符作为分隔符(通常为非数字和字母的字符,比如逗号,空格,下划线等一些符号)

b:光标向前移动一个word;分隔符同w

W:光标向后移动一个word;空白作为分隔符(连续的多个空白当做一个)

B:光标向前移动一个word;分隔符同W

wbWB同kjhl一样可以结合数字连续多次操作

移动到行尾或行首

^/0/$可以操作光标移动到行尾或者行首。

^:光标移动到行首的第一个非空白字符处

0:光标移动到行首

$:光标移动到行尾

移动到指定的字符上

f/F加上字符可以操作光标移动到指定的字符上。

f+字符:向后查找,移动到指定的字符上,比如fa会把光标向后移动到第一个a字符处。

F+字符:向前查找,移动到自定的字符上。

匹配括号的移动

百分号(%)可以操作光标移动到当前括号所匹配的括号处(括号、中括号、花括号),比如当前光标在花括号({)上,按下%键,光标将移动到当前花括号对应的匹配花括号(})处。

移动到指定位置

移动到指定行位置

冒号(:)+数字可以移动到指定行数的位置,比如:5光标将会移动到第5行。

数字+百分号(%)可以移动到文件指定的位置,假如一个文件有100行,90%光标将会移动到第90行

移动到屏幕指定位置

H/M/L可以操作光标移动到屏幕的指定位置。

H:Home的意思,移动到屏幕的第一行。

M:Middle的意思,移动到屏幕的中间位置。

L:Last的意思,移动到屏幕的最后一行

移动到文件指定位置

gg/G可以操作光标移动到文件的头部或者尾部。

gg:光标移动到文件第一行

G:光标移动到文件最后一行

显示当前位置

CTRL+G命令可以得到文件的一些基本信息(假设ruler选项关闭)

1
"usr_03.txt" line 233 of 650 --35%-- col 45-52

上图展示了当前正在编辑的文件名,当前光标所在的行号,文件总的行数,当前行在文件总行的百分比,当前光标所在的列;有时候你会看到两个以-分隔的数字来表示列, 如”col 2-9”. 这意味着你的光标位于第二个字符上, 因为第一个字符是一个跳格键, 占了8个字符的位置, 所以屏幕上看起来该列位置是9。

设置’number’选项,在每一行的前面显示行号

1
:set number

关闭可以使用’nonumber’选项即set nonumber。

1
:set nonumber

number和nonumber可以分别简写为nu和nonu。

设置’ruler’选项,可以在vim窗口的右下角显示当前光标位置。

1
:set ruler

显示结果如下

1
3,7 Top

关闭可以设置’noruler’选项。

1
:set noruler

滚动

CTRL +U/D/B/F/Y/E可以文本在屏幕中滚动。

CTRL+U:文本向下滚动半屏(也可以想象为在显示文本的窗口向上滚动了半屏)

CTRL+D:文本向上滚动半屏

CTRL+B:文本向下滚动一屏

CTRL+F:文本向上滚动一屏

CTRL+Y:文本向下滚动一行

CTRL+E:文本向上滚动一行