Rumah  >  Artikel  >  pembangunan bahagian belakang  >  如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)

如何理解vim的三种工作模式(命令模式,编辑模式,末行模式)

坏嘻嘻
坏嘻嘻asal
2018-09-17 10:02:546015semak imbas

本篇文章给大家带来的内容是关于,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1.vim的三种工作模式(vim是vi的增强版本)
    命令模式
        按ESC键后就会进入命令模式,命令模式下的常用操作有复制/黏贴/删除/撤销等....
    编辑模式
        在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、
            修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式
    末行模式
        在命令模式下按 : 即可进入末行模式
2.命令模式下的相关操作
    2.1 保存退出:shift + zz  //但是空文件不会保存
    2.2 代码的格式对齐:gg=G
    2.3 光标的移动:
        上下左右按键
        hjkl:左下上右
        行首行尾:0 和 $(shift+4)
        文件首尾:gg 和 G
        到指定行:行号+G
        从当前行往后跳n行:n+enter
        向后跳转一个单词:w
        到下一行行首:enter
    2.4 删除
        删除一个字符:x
        删除一个单词:dw
            如果此时光标在单词的中间则只会删除单词的一部分
        删除前半行:d0
        删除后半行:d$(shift+4)   或者 D(shift+d)
        删除整行:dd
        删除n行:ndd
        删除整篇文章:先将光标移动到最后一行  然后dgg
    2.5 撤销和反撤销
        撤销:u
        反撤销:ctrl + r    
    2.6 复制
        复制一行:yy
        复制n行:nyy
    2.7 粘贴
        粘贴到当前光标的下一行:p
        粘贴到当前光标的上一行:P(shift+p)
    2.8 替换
        替换单个字符:r
        替换n个字符:R  //ESC键退出替换
    2.9 查找:
        方法一:先按/(逆时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
        方法二:先按?(顺时针查找) 然后输入要查找的内容,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
        方法三:将光标移动到你要查找的单词上,然后按#(shift+3) 即可查找,如果查找的内容在文本中有多处按n切换到下一处,N切换到上一处
    2.10 查找函数的用法(如同vs下的 f12)
        将光标移动到你要查找的函数名上,然后按:章节号+K(shift+k),q键退出,在按enter键回到代码中
3.可视模式下的操作:在命令模式下按 v 即可进入可视模式,再按一次退出可视模式
    3.1 选中任意文本:    通过上下左右键或hjkl来选中文本
    3.2 复制:y (一个y就够了,复制的就是3.1的结果)
    3.3 删除和剪切:d(一个d就够了,删除的就是3.1的结果)
    3.4 粘贴:这里的粘贴是在光标所在位置的前后不是光标所在行的上下
        在光标位置之后粘贴:p
        在光标位置之前粘贴:P(shift+p)
4.编辑模式:
    a:光标后面插入
    i:
    o:打开新的一行
    s:
5.末行模式:在命令模式下按::
    5.1 保存退出:wq 或 x  + enter
    5.2 行跳转:n + enter    
    5.3 末行模式跳转到命令模式:两次ESC
    5.4 替换:
        替换光标所在行的第一个:s/old/new
        替换光标所在行的所有:s/old/new/g
        一个一个的替换,没替换一个就要询问一次:s/old/new/gc
        替换指定多行的:n1,n2s/old/new/g
        替换指定多行并询问:n1,n2s/old/new/gc
        替换所有:%s/old/new/g    
        替换所有并询问:%s/old/new/gc    
    5.5 分屏:
        水平分屏:sp
        垂直分屏:vsp
        分屏两个不同的文件:sp/vsp 文件名
        屏幕切换:ctrl + ww
        退出分屏:
            q:退出当前
            qall:退出多有
            wq/wqall
    5.5 末行模式下执行shell命令:!命令
6.vim同时打开多个文件
    vim -o 文件1 文件2 文件3   //垂直分屏
    vim -O 文件1 文件2 文件3   //水平分屏
7.vim配置文件
    7.1 用户级别(优先级高)
        ~./vimrc  //可能没有
    7.2 系统级别(优先级低)
        /etc/vimrc
    7.3 vim配置
        set nocompatible  
        set number
        set autoindent
        set smartindent
        set showmatch
        set ruler
        set incsearch
        set tabstop=4
        set shiftwidth=4
        set softtabstop=4
        set cindent
        set nobackup
        set clipboard+=unnamed
        #自动补全
        inoremap ' ''i
        inoremap " ""i
        inoremap ( ()i
        inoremap [ []i
        inoremap { {}O

Atas ialah kandungan terperinci 如何理解vim的三种工作模式(命令模式,编辑模式,末行模式). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn