vim的一些常用命令(一)
个人 vim 学习笔记
先确认在Normal模式下,如不确认,请按几次Esc。
:sy on/clear
sy表示语法高亮,on是打开、clear是取消。
:set go=
set表示一般性设置,go是gui option的缩写,就是界面;等于空,就是什么都没有。
:colo ev(+tab,会自动补全为evening)
colo设置调色方案。自带了进十种。
:tabnew d:\t(+tab,会自动补全D盘下以t开头的文件)
文件会以多标签页的形式打开,而且使用:set go=e 设置顶部的标签的样式。
**替换操作**
:%s/以下是/\r&/gc
s表示替换,s/a/b表示将a替换成b;\r表示回车,&表示被替换的部分。
%表示全文,gc表示一直替换(不是仅替换一个),并且要用户确认。
:w 表示保存。
gg 表示光标移动文章的开头。
2x 表示删除两个字符。
u 表示撤销。
ctrl+r 跳到最新改变的位置。
dd 表示删除一行,3d 表示删除3行,dG 表示删除全部。
**列操作**
gg …. gg$ 表示移动到首行的最后一个字符上。
ctrl+q 转换为块,15j 表示向下选中15行,x表示删除。
文档的操作(打开,关闭,保存):
:e file 关闭当前编辑的文件,并开启新的文件。
:e# 回到刚才编辑的文件
:f filename 改变编辑的文件名,这是如果在保存就相当于另存为。
:n1,n2w filename 选择性保存从某n1行到n2行的内容。
:browse e 打开一个文件浏览器。
:Sex 水平分割窗口
:Vex 垂直分割窗口
光标的操作
基本移动(在normal模式下)
h 左 j 下 k 上 l右 移动
+(要使用Ctrl)或者enter:将光标移动到下一行的第一个非空白字符。
-(不用使用Ctrl):将光标移动到上一行的第一个非空白字符。
w,e 都是下(后)移一个单词,w跳到单词开头,e跳到单词结尾。
ge 上(前)移一个单词到结尾。
b 上(前)移一个单词到开头。
(: 前移一句; ):后移一句。
{: 前移一段; }:后移一段。
fc:把光标移动到同一行的下一个c字符处。大写的表示往上。
3fc:把光标移动到同一行的第三个c字符处。大写的表示往上。
tc:把光标移动到同一行的下一个c字符前。大写的表示往上。
—-都可以配合n使用—-
0 移到行首,^移动到本行的第一个非空白字符。
$ 移动到行尾。
H 把光标移动到屏幕的最顶端一行。
M
L
gg 跳转到文件头部;G 跳转到文件尾部。
翻屏
ctrl+f 下翻一屏
ctrl+b 上翻一屏
ctrl+d 下翻一半屏
ctrl+u 下翻一半行
ctrl+y 向上滚动一行
n% 到文件的n%的位置。
zt 将当前行移动到屏幕顶部
zz 将当前行移动到屏幕中央
zb 将当前行移动到屏幕底部
标记( 大小括号在真正编辑时都不用输入 )
使用标记可以快速移动。到达标记后,可以使用Ctrl+o返回原来的位置。Ctrl+o和Ctrl+i很像浏览器上的前进和后退。
m{a-z} 标记光标所在的位置,局部标记,只用于当前文件。
m{A-Z} 标记光标所在的位置,全部标记。重新启动,标记仍然有效。
`{a-z} 移动到标记的位置。
\'{a-z} 移动到标记的行首。
“ 移动到上次编辑的地方。\’\’也可以,不过“更加精切。如果想要跳转到更老的位置,可以按C-o,跳转到跟新的位置用C-i。
`\’\’ 移动到上次离开的地方。
`. 移动到最后改动的地方。
:marks 显示所有的标记。
:delmarks 删除标记a和b。
:delmarks a-c 删除标记a、b和c。
:delmarks a c-f 删除标记a,c,d,e,f。
:delmarks! 删除当前缓冲区的所有标记。
:help mark-motions 查看更多关于mark的知识。