美文网首页
VIM常用指令

VIM常用指令

作者: 裂开的汤圆 | 来源:发表于2019-06-04 23:48 被阅读0次

    VIM的初步认识

    不是很了解VIM的可以先去看看这篇文章Linux字符界面与VI编辑器
    你会发现VIM和VI只差了一个M字,是否它们两者有什么关系?对的你们有猜错,它对 Vi 作了 许多 增强: 多层撤销, 多窗口, 多缓冲区(buffer), 高亮度语法显示, 命令行编辑, 文件名匹配, 在线帮助, 可视选定, 等等. 用 ":help vi_diff.txt" 看 Vim 和 Vi 的差别 的 摘要(以上这句话摘自CentOS7 VIM帮助文档,查看这个文档可以在终端界面下输入$ man vim进行查看,要是不知道终端是什么,请查看上面那篇文章)。

    VIM的四种模式与VI的三种模式

    实际上VIM的模式与VI的模式是一样的,不过VIM比VI多了一种可视模式。不过我个人觉得VI的三种模式比VIM的四种模式在命名更形象一些,所以接下来的文章使用了VI的模式名称。


    • VI的三种模式
      • 指令模式:输入指令以及移动光标时使用
      • 文本输入模式:对文本内容进行编辑
      • 末行模式 :文字编辑辅助功能,比如字符串修改,替代,保存文件等。

    • VIM的四种模式
    • 正常模式:等价于VI的指令模式
    • 文本输入模式:等价于VI的文本输入模式
    • 命令模式:等价于VI的末行模式
    • 可视模式:这是VIM比VI多出来的一种模式,正常模式下输入v进入可视模式,然后移动光标,光标选中的区域会高亮,最后用操作命令对选中的区域进行操作。

    VIM常用指令(新手推荐在字符界面下使用$ vimtutor指令,该指令是VIM文本编辑器的教程,帮助快速上手VIM。)

    注意:本文编写时没有注意中英文的切换,可能存在中文字母、字符,不建议Ctrl C,Ctrl V。


    • VIM进入和退出
    • vim(字符界面):打开VIM文本编辑器
    • vim 文件名(字符界面):若存在该文件,则打开该文件,若不存在,则创建该文件(注意,创建的文件是先保存在缓存中,编辑完成后输入保存指令,才会保存在磁盘中)
    • :q!:不保存文本,强制退出VIM程序
    • :wq:保存修改并退出
    • :wq a.txt:保存文件,文件名为a.txt
    • :w 文件名:文件另存为

    • 移动指令
    • h:光标左移一位
    • l:光标右移一位
    • j:光标向下移动一行
    • k:光标向上移动一行
    • w:从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符
    • e:从当前光标当前位置直到单词末尾,包括最后一个字符
    • 0:光标返回行首
    • Page Up:向上翻页
    • Page Down:向下翻页
    • ctrl f : 向下翻页
    • ctrl b : 向上翻页

    文本编辑指令


    • 文本插入指令
      • i:在光标前插入文本,指令模式下输入i会进入文本输入模式
      • I:与i一样
      • A:在光标所在行的末尾插入内容,指令模式下输入A会进入文本输入模式
      • a:在光标后插入文本,指令模式下输入a会进入文本输入模式
      • o:在光标所在行的下方插入一行,指令模式下输入o会进入文本输入模式
      • O:在光标所在行的上方插入一行,指令模式下输入O会进入文本输入模式

    • 文本删除指令
      • x:删除光标位置的字符
      • d motion:删除操作符d,需要配合动作(motion)一起使用,下面试动作,使用方法例如:dw、de
        • w:从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符
        • e:从当前光标当前位置直到单词末尾,包括最后一个字符
        • $:从当前光标当前位置直到当前行末
      • dd:删除整行

    • 撤销类指令
      • u:撤销上一次的操作
      • U:撤销对整行的操作
      • Ctrl+R :撤销掉撤销命令

    • 置换类指令
      • p:将最后一次删除的内容置入光标之后
      • r+字符:将光标当前位置的字符,用新输入的字符去替换
      • R :指令模式下输入R,进入替换模式,可以连续替换多个字符,直到ESC退出该模式

    • 更改类指令c(与删除类操作符d一样,语法c motion(动作))
      • cw:从光标开始,改变文本直到一个单词的末尾(我练习的时候体会不出cw和ce的区别,望知道的朋友告知一下)
      • ce:从光标开始,改变文本直到一个单词的末尾
      • c$:从光标开始,改变文本直到该行末尾

    • 替换指令(末行模式)
      • :s/old/new:替换所在行第一个匹配串,第一个old被new替换
      • :s/old/new/g:替换全行的匹配串,全行的old被new替换
      • :#,#s/old/new:其中 #,# 代表的是替换操作的若干行中首尾两行的行号。
      • :%s/old/new/g:替换整个文件中所有匹配串
      • :%s/old/new/gc:找到全文所有的匹配串,并逐一询问是否替换

    • 使用计数指定动作(所有动作指令前都可指定数字,表示该动作执行的次数)
    • 简单的例如h、l、j、k操作前加数字。2h-光标左移两位。2j-光标下移两行
    • d number motion:如d2e,删除从光标开始到单词末尾,该操作执行两次
    • c number motion:如c2e,更改从光标开始到单词末尾,该操作执行两次

    • 定位及文件状态
    • Ctrl+g:显示文件名以及光标的位置
    • G:光标跳转到文件最后一行
    • gg:光标跳转到文件第一行
    • 行数 + G:光标跳转到输入的行数

    • 搜索类命令
    • /(命令模式下) +需要搜索的字符:如/error,正向搜索error字符
    • ?+需要搜索的字符:逆向搜索字符
    • n:下一个相同的字符
    • N:上一个相同的字符
    • :set ic(Ingore Case):设置搜索时忽略大小写选项
    • :set noic:设置搜索时禁用忽略大小写选项
    • :set hls(hlsearch):设置所有匹配项高亮选项
    • :set nohls:关闭所有匹配项高亮
    • :set is(incsearch):输入/指令后,输入字符直接匹配内容(边输字符边查找)
    • :set nois:输入/指令,并且输入字符按下回车键后才匹配字符(输入完毕后再查找)
    • Ctrl+o:光标回退到之前的位置
    • Ctrl+i:光标跳转到较新的位置
    • %:用来查找相配对的括号,需要将光标停留在括号上,例如光标在(上,输入%,光标会自动跳到与之相对应的)上

    • 在VIM内调用外部命令的方法(末行模式下)
    • :!+外部命令:例如:! ls,列举当前目录

    • 提取和合并文件
    • :r 文件名:例如r a.txt,在当前文本光标后插入a.txt文本的内容
    • :r ! 外部命令:例如 :r ! ls,在光标后插入外部命令返回的结果

    • 可视模式的命令(指令模式下输入v进入可视模式)
    • 截取部分内容保存到另一个文件中
    1.  按 v 键进入可视模式,移动光标。您会注意到光标之间的文本被高亮了。
    2.  然后按 : 字符。您将看到屏幕底部会出现 :'<,'> 。
    3.  现在请输入 w TEST,其中 TEST 是一个未被使用的文件名。确认您看到了:'<,'>w TEST 之后按 <回车> 键。
    4.  这时 Vim 会把选中的行写入到以 TEST 命名的文件中去。使用 :!dir 或 :!ls确认文件被正确保存。
    
    • 复制粘贴文本
    1.  指令模式下输入v进入可视模式
    
    1. 移动光标,使得需要复制的内容高亮
    2. 输入y,复制选中内容
    3. 移动光标到需要粘贴的位置,输入p粘贴

    • 启用VIM特性
      Vim 的功能特性要比 Vi 多得多,但其中大部分都没有缺省启用。为了使用更多的
      特性,您得创建一个 vimrc 文件。

      1. 开始编辑 vimrc 文件,具体命令取决于您所使用的操作系统:
        :edit ~/.vimrc 这是 Unix 系统所使用的命令
        :edit $VIM/_vimrc 这是 MS-Windows 系统所使用的命令
      2. 接着读取 vimrc 示例文件的内容:
        :r $VIMRUNTIME/vimrc_example.vim
      3. 保存文件,命令为:
        :write

      下次您启动 Vim 时,编辑器就会有了语法高亮的功能。
      您可以把您喜欢的各种设置添加到这个 vimrc 文件中。
      要了解更多信息请输入 :help vimrc-intro


    • VIM补全功能
      1. 指令模式下输入:e(不要按回车)
      2. Ctrl+d,显示所有以e开头的选项
      3. Tab切换选项

    • VIM帮助
    • :help:帮助命令
    • F1:帮助

    相关文章

      网友评论

          本文标题:VIM常用指令

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