七达网是国内最新、最齐、最安全的软件下载基地!

关于我们最近更新热门排行

首页 软件 游戏 应用 文章 专题

新闻资讯软件应用软件教程 编程开发操作系统游戏攻略安卓应用安卓游戏
当前位置:首页 ›› 软件教程 ›› VsVim使用教程_VS2017中VIM插件配置教程

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

2018-09-27 10:22   作者:佚名   来源:本站整理   浏览:1148   评论:0  

1. 配置快捷键

1.四种模式:normal,insert,visual,command
2.映射
   map:imap,nmap,vmap,cmap
   noremap:inoremap,nnoremap,vnoremap,cnoremap
3.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:添加本文件"书签"x
mX:添加全局"书签"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

        "end
3.配置文件
    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帮助文档中,所有命令
Tags:责任编辑:chaijianxin
    1. The Foundry NukeThe Foundry Nuke

      本站为大家提供了The Foundry Nuke 9/10/11等三个版本的中文破解版免费下载,同时包含有The Foundry Nuke 9/10/11汉化包,The Foundry Nuke 9/10/11破解补丁和破解激活教程免费参考学习,七达网小编这里欢迎各位...

    软件评论

    请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

        登录   注册
    猜你喜欢