vim 基础学习之普通模式】的更多相关文章

.操作 = 操作符 + 动作 aaa bbb例如,d是删除命令,b是移动到距离光标最近的字符串开头当我们执行db的时候,就会删除光标(不包括光标位置)到最近字串开头之间的字符dj则会删除光标所在行以及下一行 .a i 文本对象 所谓的文本对象,说白了其实就是专门操作文本的他们两个的区别就是a -操作范围包括边界i -操作范围不包括边界例如 aaa bbb ccc当我们光标处在第二个b的时候,我们执行 viw,你会发现bbb 高亮.如果你执行vaw你会发现bbb后面的空格也会高亮,如果后面没有cc…
普通模式下 /->正向查找 n-向下查找 N-向上查找 ?->反向查找 N-向下查找 n-向上查找 <C-r><C-w> <C-r>-引用,例如引用寄存器 <C-w>-获得当前光标下的字符 例如,当我们在命令行的时候,光标在"向上查找",然后我们执行<C-r><C-w>就可以把这个向上查找放到命令行了. :%s///gn 这个其实是替换命令,只是我们标志位选择了n,不替换罢了这个可以用来匹配上次查找的匹…
插入模式1.字符编码,插入特殊字符 <C-v>{3位} 如,你想输入A,你可以在输入模式下<C-v>065(必须是3位) <C-v>u{4位} 如,你想输入¿,你可以在输入模式下<C-v>u00bf <C-v>{非数字} 原义插入非数字字符<C-v> g 得到的就是g <C-k>{非数字}{非数字} 两个字符进行合并例如,你想得到½,那么你可以通过如下方式<C-k> 12 那我们怎么看一个字符的编码呢?你可以把…
替换命令substitute可以用来查找跟替换操作. :[range]s[ubstitute]/{pattern}/{string}/[flags] [count] range-命令作用范围(缺省的情况下,默认是当前行) substitute-替换命令 pattern-正则表达式,想要替换的内容(如果为空,会引用上次的查找结果,类似于global中的pattern) 当然,如果我们非要想显示的使用上一个pattern,那我们可以使用<C-r>/,就会把上次的结果插入到命令行了. substit…
global命令可以在指定模式下,匹配行上进行Ex命令 使用格式: :[range]g[lobal]/{pattern}/[cmd] range-是执行范围(如果缺省,是%) global-命令关键字 pattern-匹配内容 cmd-Ex命令操作(缺省是print) 这个命令还有两个反向命令 global! vglobal(v) 他们的意思是,在没有匹配pattern的行上,执行cmd操作 global这个命令使用的时候,包括两步, 第一步是获得已经拥有标记的pattern匹配内容,如果这个值…
当我们使用vim看源码的时候,我们可能会碰到一个方法或者变量,我们想要知道这个变量在其他地方的使用情况.这时候我们经常的做法就是退出当前的文件,或者是重新切换一个终端,然后使用grep或者find等shell命令进行搜索.其实,我们完全可以在不离开文件的情况下,在vim的命令行中进行搜索. vim内部搜索有两种方式,一直就是调用外部的搜索工具进行搜索grep.另外一种就是自带的内部搜索vimgrep其中,grep允许我们就行设置,从而可以自主选择我们希望使用的搜索工具以及搜索结果样式.例如 我们…
本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa aabbb aaab的列表触发补全模式的条件1.插入模式下 ctrl+p ctrl+n 或者Tab 同时,ctrl+p ctrl+n还能够上下移动选中补全列表项还有其他的补全方法,如下这些方法都是以ctrl + x来启动的,然后跟着你想要的补全样式 .<c-n>-普通关键字 .<c-x>…
1:vim abc:如果有abc文件,则打开,否则创建之后打开 2:输入"i",才可以输入东西 3:按Esc,它是底行模式,再敲":wq 回车" 保存退出. 4:cat 命令:是查看文件内容 5:在vim文件中连续敲击两个D,删除此行 -----------------------------------------------------------磁盘管理命令----------------------------------------------------…
1. ''-当前文件上次跳转之前的位置2. '.-当前文件上次修改的位置,只要是发生了可能导致变化的命令操作就会被标记,哪怕实际结果没有变化3. '^-当前文件上次插入的位置,只要是发生了插入操作命令就会被标记,哪怕实际结果没有变化4. '[-当前文件上次修改或者复制的起始位置,跟'.的区别还没有发现5. ']-当前文件上次修改或者复制的结束位置,跟'.的区别还没有发现6. '<-当前文件上次高亮选取的起始位置7. '>-当前文件上次高亮选取的结束位置 jumps我们平时的跳转操作,会有一个跳…
:tabnew -创建新标签 :split(sp)-垂直分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 :vsplit(vsp)-水平分割窗口 如果没有打开新的文件,那么会打开原来窗口的文件 :prev-上一个参数列表 :bprev-上一个缓冲区列表 <C-w>-删除至上个单词开头 <C-u>-删除至行首 <C-r>+寄存器-调用寄存器里面的内容 :数字 == 数字+G 跳转到指定的行 :t -复制 :m - 粘贴…