美文网首页
vim使用简介

vim使用简介

作者: _士心_ | 来源:发表于2016-11-05 17:09 被阅读85次

    一、进入vi的命令

    vi filename :打开或新建文件,并将光标置于第一行首

    vi +n filename :打开文件,并将光标置于第n行首

    vi + filename :打开文件,并将光标置于最后一行首

    vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

    vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

    vi filename....filename :打开多个文件,依次进行编辑

    二、移动光标类命令

    h :光标左移一个字符

    l :光标右移一个字符

    space:光标右移一个字符

    Backspace:光标左移一个字符

    k或Ctrl+p:光标上移一行

    j或Ctrl+n :光标下移一行

    Enter :光标下移一行

    w或W :光标右移一个字至字首

    b或B :光标左移一个字至字首

    e或E :光标右移一个字至字尾

    ) :光标移至句尾

    ( :光标移至句首

    }:光标移至段落开头

    {:光标移至段落结尾

    nG:光标移至第n行首

    n+:光标下移n行

    n-:光标上移n行

    n$:光标移至第n行尾

    H :光标移至屏幕顶行

    M :光标移至屏幕中间行

    L :光标移至屏幕最后行

    0:(注意是数字零)光标移至当前行首

    $:光标移至当前行尾

    三、屏幕翻滚类命令

    Ctrl+u:向文件首翻半屏

    Ctrl+d:向文件尾翻半屏

    Ctrl+f:向文件尾翻一屏

    Ctrl+b;向文件首翻一屏

    nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

    四、插入文本类命令

    i :在光标前

    I :在当前行首

    a:光标后

    A:在当前行尾

    o:在当前行之下新开一行

    O:在当前行之上新开一行

    r:替换当前字符

    R:替换当前字符及其后的字符,直至按ESC键

    s:从当前光标位置处开始,以输入的文本替代指定数目的字符

    S:删除指定数目的行,并以所输入文本代替之

    ncw或nCW:修改指定数目的字

    nCC:修改指定数目的行

    五、删除命令

    ndw或ndW:删除光标处开始及其后的n-1个字

    do:删至行首

    d$:删至行尾

    ndd:删除当前行及其后n-1行

    x或X:删除一个字符,x删除光标后的,而X删除光标前的

    Ctrl+u:删除输入方式下所输入的文本

    六、搜索及替换命令

    /pattern:从光标开始处向文件尾搜索pattern

    ?pattern:从光标开始处向文件首搜索pattern

    n:在同一方向重复上一次搜索命令

    N:在反方向上重复上一次搜索命令

    :s/p1/p2/g:将当前行中所有p1均用p2替代

    :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代

    :g/p1/s//p2/g:将文件中所有p1均用p2替换#### vim的翻頁
    整页翻页 ctrl-f ctrl-b (f就是forword b就是backward)T
    翻半页ctrl-d ctlr-ud=down u=up
    滚一行ctrl-e ctrl-y
    zz 让光标所杂的行居屏幕中央zt 让光标所杂的行居屏幕最上一行 t=topzb 让光标所杂的行居屏幕最下一行 b=bottom

    多行注释:

    1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
    2. 按大写字母I,再插入注释符,例如//
    3. 按esc键就会全部注释了

    取消多行注释:

    1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
    2. 按字母j,或者k选中注释符号
    3. 按d键就可全部取消注释

    • vim file
      // 新建或打开file
    • i : 插入内容
    • dd : 删除一行
    • ECS : 回到正常模式
    • :set : number显示行号
    • y行数 : 复制几行
    • yy : 复制当前行
    • p : 粘贴
    • u : 撤销
    • / #G : 跳到#行
    复制黏贴

    删除操作(命令模式使用)

    x删除光标处的单个字符

    dd删除光标所在行

    dw删除当前字符到单词尾包括空格的所有字符

    、#x例如3x删除光标处向右的三个字符

    、#dd例如3dd从当前行开始向下删除三行文本

    撤销操作

    u命令取消最近一次的操作,可以使用多次来恢复原有的操作

    U取消所有操作

    Ctrl+R可以恢复对

    复制操作

    yy命令复制当前整行的内容到vi缓冲区

    yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词

    y$复制光标所在位置到行尾内容到缓存区

    y^复制光标所在位置到行首内容到缓存区、#yy例如:5yy就是复制5行、#yw例如:2yw就是

    vim 配置

    g clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
    

    分割布局

    使用:sv <filename>命令打开一个文件,你可以纵向分割布局(新文件会在当前文件下方界面打开),使用相反的命令:vs <filename>, 你可以得到横向分割布局(新文件会在当前文件右侧界面打开)

    记得在输入完:sv
    后,利用tab补全功能,快速查找文件。
    你还可以指定屏幕上可以进行分割布局的区域,只要在.vimrc
    文件中添加下面的代码即可:

    set splitbelow
    set splitright
    

    想要不使用鼠标就切换分割布局吗?只要将下面的代码添加到.vimrc
    文件中,你就可以通过快捷组合键进行切换。

    "split navigations
    nnoremap <C-J> <C-W><C-J>
    nnoremap <C-K> <C-W><C-K>
    nnoremap <C-L> <C-W><C-L>
    nnoremap <C-H> <C-W><C-H>
    
    组合快捷键:
        Ctrl-j 切换到下方的分割窗口
        Ctrl-k 切换到上方的分割窗口
        Ctrl-l 切换到右侧的分割窗口
        Ctrl-h 切换到左侧的分割窗口
    
    #### 缓冲区(Buffers)
    虽然Vim支持tab操作,仍有很多人更喜欢缓冲区和分割布局。你可以把缓冲区想象成最近打开的一个文件。Vim提供了方便访问近期缓冲区的方式,只需要输入:b <buffer name or number>,就可以切换到一个已经开启的缓冲区(此处也可使用自动补全功能)。你还可以通过ls命令查看所有的缓冲区。
     
    在:ls命令输出的最后,Vim会提示“敲击Enter继续查看”,这时你可以直接输入:b <buffer name>,立即选择缓冲区。这样可以省掉一个按键操作,也不必去记忆缓冲区的名字。
    
    #### 代码折叠(Code Folding)
    大多数“现代”集成开发环境(IDE)都提供对方法(methods)或类(classes)进行折叠的手段,只显示类或方法的定义部分,而不是全部的代码。
    你可以在.vimrc
    中添加下面的代码开启该功能:
    

    " Enable folding
    set foldmethod=indent
    set foldlevel=99

    这样就可以实现,但是你必须手动输入za来折叠(和取消折叠)。使用空格键会是更好的选择。所以在你的配置文件中加上这一行命令吧:
    

    " Enable folding with the spacebar
    nnoremap <space> za

    现在你可以轻松地隐藏掉那些当前工作时不需要关注的代码了。
    
    #### E21: 不能修改,因为选项 'modifiable' 是关的
    
    使用vi的时候不能编辑,提示 “不能修改,因为选项 "modifiable"是关的 ”,输入命令 :set modifiable 回车就可以继续编辑
    
    
    文件命名
    :w newfile        #将编辑的内容写入 newfile 文件,保持原有文件的内容不变
    :f newfile         #将当前文件重命名为 newfile

    相关文章

      网友评论

          本文标题:vim使用简介

          本文链接:https://www.haomeiwen.com/subject/kfqtyttx.html