美文网首页
VIM的配置和使用方法

VIM的配置和使用方法

作者: finlu | 来源:发表于2019-04-21 08:54 被阅读0次

    VIM简介

    vim是一款类似于vi的功能强大的文本编辑器且对比于传统的vi编辑器得到了很大的功能上的提升,在类Unix系统中得到了广泛的使用。通过简单的配置,就可以完成强大的学习。

    如果你的操作系统(类Unix系统)上没有vim编辑器,请先安装它!,以ubuntu操作系统为例:

    • 安装vim

      sudo aptitude install -y vim
      

    VIM的基本使用

    • 使用vim打开文件

      1. 使用vim打开一个文件

        sudo vim /etc/passwd
        
      2. 精确定位到要编辑文件的行数

        sudo vim +18 /etc/passwd
        
      3. 使用vim一次性打开多个文件

        sudo vim -O /etc/passwd /etc/group
        

        这样vim可以打开两个文件,光标默认在最左边的窗口中,可以直接编辑里面的内容。使用Ctrl + W 可以切换到另外一个窗口(切换之前需要保存写入的内容)。

    • 配置vim(可在vim配置文件vimrc中写入)

      • 显示行号

        : set nu
        
      • 自动缩进

        : set ai
        
      • 语法高亮显示

        : syntax on
        
    • VIM 中执行SHELL命令

      :! gcc -o hello hello.c
      
    • 定义快捷键

      进入vim配置文件

      sudo vim /etc/vim/vimrc
      

      在vimrc文件中编辑配置

      noremap <F6> :set nu
      noremap <F7> :set ai
      noremap <F8> :syntax on
      
    • 高效配置

      filetype on                  # 启用文件类型侦测
      set encoding=cp936           # 指定当前字符编码为 Windows 简体中文
      set tabstop=4                # 设置 Tab 键为4个空格
      set mouse=a                  # 在终端中使用鼠标
      set ignorecase               # 查找时忽略大小写
      set helplang=cn              # 在安装完中文帮助文档后设置帮助文档的语言
      help user                    # 查阅中文手册
      help user_num(范围:01-32)    # num可以直接定位到章节
      help tag                     # tag为手册名称
      

    个人使用的vim配置

    : set nu
    : set ai
    : syntax on
    : filetype on
    set tabstop=4
    set mouse=a
    set ignorecase
    

    vi工作模式

    vi有三种基本工作模式:命令模式、文本输入模式、末行模式。

    12192974-85087c189fa9b9e0.png

    vi 工作模式

    2.1 命令模式

    任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。

    2.2 编辑模式

    在命令模式下输入插入命令i(当前位置插入)、a(当前位置后一位置插入) 、o(下一行插入)可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。

    2.3 末行模式

    在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。
    如果要从命令模式转换到编辑模式,可以键入命令a或者i;如果需要从文本模式返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。

    3. vi基本操作

    3.1进入编辑模式

    命令 含义
    i和I i在光标前插入,I在行首插入
    a和A a在光标后插入,A在行末插入
    o和O o在光标所在行下一行插入,O在光标所在行上一行插入

    3.2 移动光标

    命令 含义
    h 光标向左移动
    j 光标向下移动
    k 光标向上移动
    l 光标向右移动
    H、M、L 光标移动到到可见屏幕第一行(H)、中间行(M)、最后一行(L)
    ^和$ ^移动到行首,$移动到行末
    G和gg G文档最后一行,gg文档第一行
    ctrl+f、ctrl+b 向前翻屏、向后翻屏
    ctrl+d、ctrl+u 向前半屛、向后半屛
    { 和 } {向上移动一段,}向后移动一段
    w和b 向前移动一个单词,向后移动一个单词

    3.3 删除命令

    命令 含义
    X和x x删除光标后一个字符,X删除光标前一个字符,包含光标位置字符
    dd和 n dd dd删除所在行,5 dd删除指定行数
    d0和D d0删除光标前本行所有内容,D删除光标后本行所有内容,包含光标位置字符
    dw 删除光标所在位置的字,包含光表所在位置字符

    3.4 撤销命令

    命令 含义
    u 一步一步撤销
    ctrl + r 反撤销

    3.5 重复命令

    命令 含义
    . 重复执行上一次操作的命令

    3.6 复制粘贴

    命令 含义
    yy 和 n yy 和y$ y^ yy复制当前行,5 yy复制5行
    p 在光标所在位置向下新开一行粘贴

    3.7 选择文本

    命令 含义
    v 和 V v选择单个字符,V选择整行
    <<和>> 选择文本之后,向左缩进,向右缩进

    3.8 查找替换

    命令 含义
    命令模式下,r和R r替换当前字符,R替换光标后的字符
    末行模式下,/ + str n查找下一个,N查找前一个
    末行模式下,%s/abc/123/g 将文件中所有abc替换为123
    末行模式下,1, 10s/abc/123/g 将第一行至第10行之间的abc替换成123

    VIM 编辑器进阶

    1. 随时可查阅的 VIM 手册

      http://soruceforge.net/projects/vimdoc/files/vimcdoc/vimcdoc-1.9.0.tar.gz/download
      
    2. 使用vim插件

      vim插件官网:https://www.vim.org/scripts/script.php?script_id=273

      插件一般安装步骤(以TagList插件为例):

      • 解压缩包

        sudo unzip taglist_46.zip
        
      • 将xxx.vim复制到/etc/vim/plugin目录下

        cd plugin
        sudo cp -rf taglist.vim /etc/vim/plugin
        
      • 重启VIM后输入如下命令

        :Tlist
        

    相关文章

      网友评论

          本文标题:VIM的配置和使用方法

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