1、J - 删除两行之前的换行符,将两行合并成一行,J大写。(shift+j)
2、ctrl+r - 反转撤销动作。(u-撤销,ctrl+r-撤销撤销)
3、U - 一次撤销对一行的操作,U大写。(在点击一次U,撤销对上一次U的操作)
4、a-进入insert模式,后插入
i-进入insert模式,前插入 ,I,将光标移到行首并进入insert模式。
shift+v-进入VISUAL LINE模式,会选中当前光标行,ctrl+v进入VISUAL BLOCK模式
R-进入repalce模式
o-下面新起一行,再进入insert模式,后插入与a相同
O-上面新起一行...大写O
5、使用命令计数,9k -像上移动9行
4a!+ESC-可以同时插入4个!
6、ZZ-退出vim并保存文件
7、e!-放弃所有修改的内容重新装载源文件
8、help或者F1,打开vim的帮助文档,帮助文档中|help|这样的标题是个链接,可以使用ctrl+]跳到链接处,ctrl+T回到上个位置,ctrl+O,跳转到较早位置。
查看特殊主题: help {subject}
查看命令帮助:help deleting
查看控制字符:help CTRL-A,要使用CTRL-作为前导。
查看插入模式下的控制字符:help i_CTRL-H
查看命令索引:help index
查看命令行的参数:help -t ,要使用-作为前导。
特殊键用尖括号中一个简单的描述性名字表示:help i_<Up>
查看错误信息:help E37,E37错误编号
通用帮助入口。在该帮助页中向下滚动可以查看所有的帮助文件,包括本地安装的帮助文件:help usr_toc.txt
9、w-将光标移动到下一个单词的首字符处,前面同样可以加数字3w,如果是在最后一个单词结尾处,会自动跳到下一个单词的开始处。(助:word)
10、b-将光标移动到前一个单词的首字符处,前面同样可以加数字3b。(助:backward)
11、e-将光标移动到下一个单词的结尾字符处
12、ge-将光标移动到前一个单词的结尾字符处
13、$-将光标移动到行尾,3$,表示已到第3行的末尾
14、^-将光标移动到改行的第一个非空的字符上,加计数没有效果
15、0-将光标移动到行首第一个字符上,数字0,不接受加计数
16、f+字符-查找下一个字符开始的地方,fx,光标直接移到x处,同样接受计数
17、F+字符-反方向收索字符
18、t+字符-光标移动到字符的前一个位置上。
19、T+字符-光标反方向搜索,光标移动到字符的后一个位置上。
20、%-将光标移动到与当前‘(’匹配的另一个‘)’处,同样适用于{}和[],可以通过 help
21、gg-跳转到第一行==1G,G-跳转到最后一行,xG跳转到指定行。(助:G-Go)
22、数值+%,跳转到比例的行。
23、H-移动到当前屏幕顶部(Home),M-移动到当前屏幕中部(Middle),L-移动到当前屏幕底部(Last)
24、ctrl+G-查看当前的行信息
25、:set ruler-在右下角显示当前光标的位置
26、ctrl+U-向上滚动半屏
27、ctrl+D-向下滚动半屏
28、ctrl+E-向上滚动一行(助:extra)
29、ctrl+Y-向下滚动一行
30、ctrl+F-向上滚动一屏(助:forward)
31、ctrl+B-向下滚动一屏(助:backword)
32、zz-退到上一屏的中间
33、zt-将当前行移动到屏幕顶端 (助:top)
34、zb-将当前行移动到屏幕低端(助:bottom)
35、.*[]^%/?~$ - 特殊字符,查找时需要加上/
36、?-反向查找,/-正向查找
37、n - 使用搜索时,下一个选择,3n。N-与原本的搜索方向相反。
38、:set ignorecase-忽略大小写进行搜索。:set noignorecase-回到精确匹配
39、/o<Up>(/o↑),搜索时会首先出现之前使用过的以o开始的字符,:也同样适用
40、将光标移动到某个单词上,按下*,就可以直接进行单词的搜索,#是反向搜索。
41、/< >准确的搜索单词,< >可以只是用一个表示准确匹配单词开始或结尾,/<show>
42、:set hlsearch ,设置匹配的文字高亮,(助:hight light):set nohlsearch,取消高亮
43、:set incsearch , 使得在键入字符的过程中就开始搜索。
44、:set nowrapscan,设置在收索到达顶端或者底端时停止搜索,不会从头开始。默认为wrapscan选项。
45、:scriptnames,查看vim的启动文件,可以将上面的内容直接写到启动文件中去,
46、:edit file,直接在vim中打开另一个file。
47、正则匹配: ^XXX,以XXX开始,XXX$,以XXX结尾。^XXX$匹配一行中只有XXX的。
48、` `,两个`,可以跳回到上一次使用G的起跳的地方,即在两点之间来回跳转。再次使用``就会回到该位置。
49、CTRL+O,回到更早的搜索位置,就是回到搜索的前一个搜索位置。(助:older),当已经回到文件最初始的位置处再点击该命令时,会回到上一个文件中出现搜索的最后一个位置。
50、CTRL+I(或Table),回到更新的位置,就是回到搜索的后一个搜索位置。
(48、49、50-更一般地说,只要你执行一个命令使光标定位于当前行之外的某行上去,这都叫一个跳转。包括"/"和"n"这些搜索命令(不管被找到的东西离当前位置有多远)。但是字符搜索命令"fx"和"tx",或者是以word为单位的移动光标位置的命令"w"和"e"不叫跳转。同时,"j"和"k"命令并不被视为一个跳转,即使你在它们之前加了命令计数让当前光标跳到老远的地方也是如此。)
51、具名标记,m(a-z)一共可以使用26个自定义标记。ma-将当前的位置名为标记a,`a,会精确的找到标记位置,'a,会找到标记位置的行首。
52、:marks,查看标记表,标记表中的所有的mark都可以使用`mark来查找位置。
( 一些特殊的标记:
' 进行此次跳转之前的起跳点
" 上次编辑该文件时光标最后停留的位置
[ 最后一次修改的起始位置
] 最后一次修改的结束位置 )
" 上次编辑该文件时光标最后停留的位置
[ 最后一次修改的起始位置
] 最后一次修改的结束位置 )
53、dw-删除一个word,w可以看作左移一个单位的命令。
(d后面可以跟任何一个位移命令,它将删除当前光标起,到位移结束之间的文本。 d4w、 d$、 d^、 dG、 d2G...
此类命令有一个特定的格式:操作命令符+位移命令 )
54、c-改变命令,c命令在删除文本子后会自动进入insert模式,c2wbe,将光标当前位置下的2个word改编成be,2w-位移命令,be为替换的文本。
(c2wbe[Esc],c命令是在删除接下来位移的文本后进入insert模式,输入be,然后Esc回到normal模式)
55、x 代表dl(删除当前光标下的字符)
56、X 代表dh(删除当前光标左边的字符)
57、D 代表d$(删除到行尾的内容)
58、C 代表c$(修改到行尾的内容)
59、s 代表cl(修改一个字符)
60、S 代表cc(修改一整行)
56、X 代表dh(删除当前光标左边的字符)
57、D 代表d$(删除到行尾的内容)
58、C 代表c$(修改到行尾的内容)
59、s 代表cl(修改一个字符)
60、S 代表cc(修改一整行)
(操作命令符:d、c)
61、r - 替换当前光标处的字符。4rx表示将光标接下来的4个字符都替换成x。r<enter>,将光标处的字符替换成换行,4r<enter>,将4个字符替换成换行。
62、. - 重复上一次做出的改动。只要前一次执行了对文本有任何改动的命定,.即可重复该命令。(重复的是命令,而不是改动的内容)
63、v-进visual模式,在visual模式下,可以移动光标来选择文本,被选中的文本会高亮,然后再键入操作命令。
(在visual模式下,V可以指定选中的行数,Vjj就会选中光标所在行以及接下来的两行)
64、矩形区域删除(纵向删除)- ctrl+v进入VISUAL BLOCK模式,j5向下移动5行,w,选择直到下个word的区域,h,排除这一列,d,中间这列就被删除了。
(如果你已经在Visual模式下选中了一些文本,但此时发现还要改变另一头的被选择区域,"o"命令(提示:o 代表other end另一头)会让光标置于被选中文本的另一头这样你就可以通过控制光标移动来决定被选文本将从何处开始。再按"o"又会让光标置于被选文本的末端。)
65、p - put,取回上次删除的内容,可以把上一次删除(d、x)的文本放到当前光标的后面或者下一行。P-是将内容放到光标的前面或者上一行。3p,加上计数表示将被删除的3份副本置于该处。
(使用技巧:交换两个字符xp,teh->the,光变一再e上,然后在h上p即可)
66、y - 复制,y后面同样可以跟上位移命令,控制复制的区域。
67、daw - 如果光标位于一个单词的中间,但又想删除这个单词。aw-是一个文本对象,a word,daw - 表示 delete a word
68、cis - 删除一个句子并进入插入模式,c操作符+is(Inner Sentence)
69、das - 删除一个句子(a sentence)。在visual下可以使用as来选中一个句子。对此as可以选中多个句子。
70、~ - 在visual模式下可以改变光标处字符的大小写。
定制我的vim
71、set filetype,查看文件类型,set filetype=sh也可以直接设置文件类型。
72、set nowrap "设置不要折行
73、set list "显示制表符
74、set listchars=tab:>-,trail:- "让每个制表符会以">---"显示 1 ,同时行尾空格以"-"显示
75、set cmdheight=3 "设置vim显示的预留行为3行
73、set list "显示制表符
74、set listchars=tab:>-,trail:- "让每个制表符会以">---"显示 1 ,同时行尾空格以"-"显示
75、set cmdheight=3 "设置vim显示的预留行为3行
76、syntax enable/on "开启语法高亮
77、set background=light/dark,设置背景色,直接决定是否字体高亮。
78、colorscheme evening,设置颜色方案为evening。
79、syntax clear,关闭语法高亮和配色方案。
80、syntax off,彻底禁用语法高亮功能。