分类

首页 > 软件资讯 > 软件教程 > 正文

VsVim使用教程_VS2017中VIM插件配置教程

作者:小黑游戏   来源:本站整理   时间:2020-06-17 03:58

1. 配置快捷键

1.四种模式:normal,insert,visual,command2.映射   map:imap,nmap,vmap,cmap   noremap:inoremap,nnoremap,vnoremap,cnoremap3.Visual Studio 快捷键    0.VsVim配置        Optins->VsVim->        Defaults:Use Editor Command Margin->False (否则,有命令框)        Keyboard:set your Keyboard ->include All Scopes    1.VsVimrc路径        home下,_vsvimrc    2.Vs命令查看方式:        英语环境        Tools->Options->Environment->Keyboard        View->OtherWindow->Command Window    3.在vim中调用快捷命令        :vsc VAssistX.OpenFileInSolutionDialog

2.vim的常用命令

1.normal模式下    1.移动        .基本移动            hjkl            j:下            k:上            h:左            l:右        .单词移动            w:word  "跳转到单词的头"            W:WORD            e:word's end   "跳转到单词的结尾"            E:WORD's end            ge:word's end "跳转到上一个单词的结尾"            gE:WORD's end            b:back "跳转到单词的头"            B:back "跳转到WORD的头"        .行移动            _: 跳转到行的第一个字符            0:  跳转到行首            $:  跳转到行的最后一个字符        .缩进行            >> :向右缩进            < visual v-> normal        字符可视模式  v ->normal         or     块模式下插入:        c-V:进入块模式,并选择好区域        I    在所选区域前,进入块插入模式(插入的内容会在所有列都插入)        A    在所选区域后,进入块插入模式(插入的内容会在所有列都插入)        c    删除所选区域内容,并进入块插入模式(插入的内容会在所有列都插入)        C    删除所选区域以及所选区域后的所有内容,并且进入块插入模式(插入的内容会在所有列都插入)         退出到normal模式    c-g:切换可视模式和选择模式    可用命令:        移动:hjkl        查找:f{char} ; , n/N        删除:c C d x s    其他命令:        o: 切换选中区域的首和尾        U: 选中的字符全部大写         u: 选中的字符全部小写        ~:选中的字符切换大小写    组合命令:    ve/vw/viw:选中一个单词    vu:光标下的字符小写    vU:光标下的字符大写    veu/U:选中一个单词小写/大写4.command模式    在normal模式或者visual模式下输入冒号:,进入命令模式    normal模式下的命令,可以在命令模式下运行    command下也可以运行ex命令    :com[mand]  列出所有用户自定义的命令    基本命令:    :w[a]  [全部]写入(保存)     :q[a]  [全部]退出            :c[a]  [全部]关闭buffer    :x[a]  [全部]和:wq类型,当文件有修改时候,会写入    :[range]copy/co/t {address}  将范围内的行复制到目标地址处  {address}使用符号    :[range]move {address}    将范围内的行移动到目标地址处    :normal 命令,在命令行中执行normal模式下的命令    如果是visual模式,会呈现    :'normal    会在每一行都执行命令5.命令范围    .command模式下        vim中,在单个文件中,        1.以行号为地址        2.此外,还有一些特殊符号表示地址,例如:            %   整个文件(:1,$的简写形式)            .   光标所在位置。当前位置            1   文件第一行            $   文件最后一行            0   虚拟行,位于文件第一行上方            'm  包含标记m的行            '  高亮选区的结束行        范围的表示用逗号隔开,例如 add1,add2        :12,15d 表示删除12行到15行内容        :[range]d[elete] [x] {count}    "x到代表寄存器x里"    .normal模式下        normal中的一些命令,可以指定运行次数,例如:            2dd 运行两次dd->删除两行            2yy 运行两个yy->复制两行

3.mark和跳转

mx:添加本文件"书签"xmX:添加全局"书签"X`x:跳转到书签x所在的行和列'x:跳转到书签x所在行``:跳转到本文件上次离开的位置gi:跳转到上一次插入的位置gv:跳转到上一次进入visual的位置

4.VsVim的配置

1.重要配置    set backspace=indent,eol,start "退格键设置"    set clipboard=unnamed   "默认的剪切寄存器"    set ignorecase  "忽略大小写"2.推荐配置    1.注释        :vnoremap ci :s/^/////        :vnoremap cu :s//////        :nnoremap ci :s/^/////        :nnoremap cu :s//////    2.相关配置        .单个文件中:        :inoremap jj   "退出插入模式"        :noremap gd zz "跳转到定义"        :nnoremap gq ==     "代码格式format"        :vnoremap gq ==        :nnoremap  za "折叠"        :nnoremap zm :vsc VAssistX.ListMethodsInCurrentFile "函数列表"        :nnoremap cj :vsc VAssistX.FindReferencesinFile "当前文件中的引用"        :nnoremap ca :vsc VAssistX.FindReferences "查看所有引用"        :nnoremap cm :vsc File.OpenContainingFolder "打开所在文件夹"        :nnoremap zj :vsc Edit.QuickInfo "查看函数定义文档"        :nnoremap zp :vsc VAssistX.RefactorImplementInterface "实现接口"        "visual模式中的查找"        :vnoremap * "/y//        :vnoremap # "/y?/        .多文件        :nnoremap  :vsc View.NavigateBackward          :nnoremap  :vsc View.NavigateForward        "打开查看类的对话框        :nnoremap cs :vsc VAssistX.FindSymbolDialog        "打开查看文件的对话框        :nnoremap cf :vsc VAssistX.OpenFileInSolutionDialog        "open VAOutline        :nnoremap co :vsc VAssistX.VAOutline        "打开解决方案资源管理器        :nnoremap cv :vsc View.SolutionExplorer        "在文件中查找        :nnoremap ck :vsc Edit.FindinFiles        "end3.配置文件    source filefullPath     "读取filefullPath的配置内容,并运行"

5.寄存器介绍和使用

vim提供了几十组寄存器,用于保存文本为命令添加 "{register}  表示指定要使用的寄存器。若不指定,将缺省用unnamed无名寄存器     "x      表示引用了寄存器x""      unnamed 无名寄存器,如果没有指定要使用的寄存器,vim会缺省使用此寄存器"_      黑洞寄存器(实际上并没有存储,如果"_d{motion}会执行真正的删除)"0      复制专用寄存器  (复制的时候,不仅会把内容拷贝到无名寄存器中,还会拷贝到此寄存器)"a-"z   a-z寄存器(26个英文字母都是寄存器的名字)"+      系统剪贴板寄存器 (使用"+p来粘贴系统剪贴板的内容)(X11剪切板,用剪切、复制与粘贴命令操作)"*      选择专用寄存器 (X11主剪切板,用鼠标中断操作)"=      表达式寄存器.在插入模式下c-r= ,会进入命令行模式,输入表达式回车之后的结果将插入文本中"%      存储了当前文件名"#      存储了轮换文件名".      存储了上次插入的文本":      存储了上次执行的Ex命令"/      存储了上次查找的模式使用示例:"fyy    将复制的内容存储到f寄存器"fp     将f寄存器中的内容粘贴出来:reg[ister] "{register}     查看{register}中的内容

6.宏

把命令序列录制成宏在normal,q键开始/停止录制宏。开始录制:    q{register} 表示指定将宏录制到哪个寄存器中停止录制:    再次按q,停止录制@{register} 表示执行寄存器中的命令@@  重复最近调用过的宏[count]@{register}  执行count次宏       串行方式:reg {register} 查看寄存器中的内容追加:    qa  录制按键操作,并覆盖a寄存器中原有内容    qA  录制按键操作,并追加到a寄存器中在插入模式中,插入寄存器中的内容:c-r{register}   将寄存器中的内容插入到文本中.多次执行宏:    串行和并行。在处理错误的方式中,串行遇到错误,就返回。    1.串行        [count]@{register}    2.并行        :'normal @{register}.迭代求值的方式给列编号    使用了表达式寄存器(=),以便插入的时候,可以进行运算    (不要试图控制每次执行多少遍宏(vim 函数))    let i=0    qa 0f[ls=ij    :let i+=1    q.编辑宏    宏中使用的是键盘编码,    如果使用{register}的方式获取的寄存器内容不一样。    不过,可以使用将寄存器中的内容粘贴出来的方式。    1.输出到文本中编辑        "{register}p        会粘贴到光标后,所以,用:put 输出到下一行        :put {register}        将寄存器内容输入到文本中        编辑完成之后,        "{register}dd       注意,Windows下,可能会将末尾的^M也粘贴进去。可以使用选中->删除到寄存器中        将文本内容删除并读取到寄存器中    2.使用函数        :let @{register}=......

7.替换

:[range]s/{original}/{new}/[g]  g表示全部替换,否则只替换第一个遇到的

8.小技巧

1.ctrl+h 删除前一个字符,相当于退格键ctrl+w 删除前一个单词ctrl+u 删除至行首2.num :第一个遇到的数字加num num :第一个遇到的数字减num

tips:

:help [   index帮助文档中,所有命令

手机福利视频播放器推荐
豆奶视频 丝瓜视频 avbobo 包子视频
秋秋影视 香蕉视频 蜜瓜电影 茄子视频
磁力吧 怡春院 电影港 食色抖音
私密免费观看直播吧 逗别看 唇色直播 影豆网
苦瓜网 尘落电影网 4k屋 火豆电影网

Tags:

相关文章

相关下载

猜你喜欢

阅读排行

网友评论

我要跟帖
取消
声明:评论内容只代表网友观点,与本站立场无关!