Vim 高级使用
-
文件定位
1)G,跳转到文件最后一行
2)gg,跳转到文件的第一行,33G
: 移动到文件第33行,复制整个文件ggyG
另一个定位行的方法是使用带计数前缀的 "%" 命令。例如,"50%" 移动到文件的中间,
而 "90%" 移到差不多结尾的位置3)ctrl + d,往下滚动半屏
4)ctrl + u,往上滚动半屏
5)ctrl + f,往前(forward)
滚动一整屏
6)ctrl + b,往后(backward)
滚动一整屏
7)ctrl + e,往上滚动一行(one line Extra,多给一行)
8)ctrl + y,往下滚动一行
确定你在当前文件中的位置
image.pngctrl + g
命令
显示了正在编辑的文件名称,总行数,光标以前的行占全文的百分比,所处的行数,所处的列数
前面的描述假定你想移动到文件中的某一行,而不在乎它是否可见, 那么如何移动到视野之内的一行呢?可以使用以下(H, M, L)三个命令
-
屏幕定位相关
1)H,跳转到本屏幕显示的第一行Home (头)
2)M,跳转到本屏幕显示的中间一行Middle (中)
3)L,跳转到本屏幕显示的最后一行Last (尾)
4)z + enter,使当前行成为屏幕显示的第一行
5)z + -,使当前行成为屏幕显示的最后一行
6)z + t,把光标所在行移动到屏幕的顶部(置顶)
7)z + b,把光标所在行移动到屏幕的底部(置底)
8)z + z,把光标所在行移动到屏幕的中间(居中) -
查找并批量替换
1)通过 sed 来查找 (默认对当前行进行查找) 命令::s/i/_/g
,将当前行所有字符i
替换成下划线_
2)1,10
,对 1-10行进行查找。命令::1,10s/i/_/g
3)1,$
,对整个文件进行查找。命令:1,$s/i/_/g
-
读取和保存
1):r file,将另外一个 file 的内容读入到当前文件中(放到当前行的下一行)
2)1,20 w file,将 1-20 行的内容写入到一个新的 file 中
3)1,$ w file,将整个文件写入到一个新的 file 中
4)1,20 w>>file,将 1-20 行数据追加到 file 中 -
设置
1):set
,显示常用的配置选项
2):set all
,显示所有的配置选项
3):set number
,设置行号