vim的模式

  • 正常模式 (Normal-mode) : 左下角显示文件名或为空。

    启动vim后默认处于正常模式。不论位于什么模式,按下<Esc>(有时需要按两下)都会进入正常模式。

  • 插入模式 (Insert-mode):左下角显示–INSERT–

    在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。

    若要粘贴整块代码,而不出现代码缩进,跟粘贴源格式一致,现在正常模式下输入‘:set paste’,在进入插入模式,即可原格式粘贴,完成后保存即可。

  • 命令模式 (Command-mode):左下角显示:

    在正常模式中,按下:(英文冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

    常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)

  • 可视模式 (Visual-mode):左下角显示–VISUAL–

    在正常模式中按下v, V, <Ctrl>+v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

vim常用命令

  • 启动vim,在命令行窗口中输入以下命令即可

    123
    vim     // 直接启动vim
    
    vim filename    // 打开vim并创建名为filename的文件
  • 退出vim命令

    12345678
    :w      保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w!     强制保存,不推出vi:wq     保存文件并退出vi:wq!    强制保存文件,并退出vi:q      不保存文件,退出vi:q!     不保存文件,强制退出vi:e!     放弃所有修改,从上次保存文件开始再编辑命令历史

    以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令

  • 撤销和重做

    123
    u       撤销(Undo)U       撤销对整行的操作Ctrl + r 重做(Redo),即撤销的撤销。
  • 删除命令

    1234567891011121314151617
    x   删除当前字符3x  删除当前光标开始向后三个字符X   删除当前字符的前一个字符。X=dhdl  删除当前字符, dl=xdh  删除前一个字符dd  删除当前行dj  删除上一行dk  删除下一行10d 删除当前行开始的10行。D   删除当前字符至行尾。D=d$d$  删除当前字符之后的所有字符(本行)kdgg 删除当前行之前所有行(不包括当前行)jdG(jd shift + g) 删除当前行之后所有行(不包括当前行):1,10d  删除1-10行:11,$d  删除11行及以后所有的行:1,$d   删除所有行J(shift + j)  删除两行之间的空行,实际上是合并两行。

移动光标位置

在正常模式下:

1234567891011121314151617181920
hjkl 左下上右    shift+4($):末尾    g+_:末尾   shift+6(^):开头    0:开头 

w:下一个单词(仅包含字母)    W:下一个单词(包含特殊符号)     b:上一个单词                B:上一个单词  e:下一个单词末尾            E:下一个单词末尾

ctrl+f:上一页ctrl+b:下一页ctrl+d:上半页ctrl+u:下半页ctrl+e:下一行(光标不动,显示页面下移一行)ctrl+y:上一行(光标不动,显示页面上移一行)

G:文末    gg:文头    nG:跳到第n行     H:跳到当前页的第1行  M:跳到当前页的中间那行

复制粘贴

1234
dd:删除一行  p:粘贴    yy:拷贝一行   ndd/nyy:删除/复制第n行

查找,替换

1234567
/pattern    前向查找    ?pattern    后向查找     n:          next      shift+n:    反向的nexts/pattern1/pattern2:        替换       s/pattern1/pattern2/g:      替换当前行所有1,$s/pattern1/pattern2/g:   替换从第一行开始所有

块操作

123
ctrl+v:开始选择要操作的块I 然后   #插入多行注释d:删除   s:删除后替换

分屏操作

1234
//分屏后可直接采用:q命令退出当前窗口split:上下分屏    vsplit:左右分屏ctrl+w+hjkl:切换分屏到不同方向e:打开文件

文件命令

  • 打开单个文件

    1
    vim file
  • 同时打开多个文件

    1
    vim file1 file2 file3 ...
  • 删除文件或删除目录

    12
    rm file     删除文件rm -rf dir  删除目录
  • 在vim窗口中打开一个新文件

    1
    :open file
  • 在新窗口中打开文件

    1
    :split file
  • 切换到下一个文件

    1
    :bn
  • 切换到上一个文件

    1
    :bp
  • 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。

    1
    :args
  • 打开远程文件,比如ftp或者share folder

    123
    :e ftp://192.168.10.76/abc.txt
    
    :e \qadrive\test\1.txt

参考:

  1. VIM中的保存和退出、VIM退出命令、如何退出vim编辑、VIM命令大全
  2. 高效率编辑器 Vim——操作篇,非常适合 Vim 新手
  3. terminal快捷键以及vim快捷键

vim的模式及常用命令相关推荐

  1. Vim和Vi的常用命令

    Vim 文本编辑器 1.Vim 和 Vi: 两者都是多模式编辑器: Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持: 特点: 语法加亮:使用不同的颜色加亮代码: 多级撤销: ...

  2. vim查找关键字_vim常用命令及操作

    [1]光标移动 h 光标左移,同 <Left> 键 j 光标下移,同 <Down> 键 k 光标上移,同 <Up> 键 l 光标上移,同 <Up> 键& ...

  3. vim编辑器介绍及其常用命令

    vim简单的介绍 Vim 编辑器是一个模式编辑器 . 这意味着在不同状态下编辑器有不同的行为模式 . 两个基本的模式是 Normal 模式和 Insert 模式 ,还有可视模式. 在 Normal 模 ...

  4. Vim基本配置快捷键常用命令

    2022.11.2 vim配置 使用vim的目的,是为了实现纯键盘编辑. vim模式 normal模式:默认模式 普通模式下,可以进行各种命令操作和移动 大部分情况下,我们是在浏览而不是在编辑,所以v ...

  5. 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  6. Ubuntu学习日记--Lesson3:vim编辑器使用和常用命令

    vi/vim 基本使用方法  原文链接:http://www.cnblogs.com/emanlee/archive/2011/11/10/2243930.html vi编辑器是所有Unix及Linu ...

  7. [Docker] docker network 常见模式及常用命令介绍

    前言 前端时间, 使用docker过程中, 又接触到需要docker network的相关知识. 之前的了解都是, 可以满足日常的使用即可, 本次, 借着机会仔细的了解了一下. 当然, 对于网络知识的 ...

  8. linux 中 vim/vi的常用命令

    文章目录 简介 normal模式(正常模式) insert模式(插入模式) command模式(命令模式) vim的启动 退出vim 显示和取消行号 光标移动操作 撤销 恢复 文本删除 复制与粘贴 搜 ...

  9. linux常用命令(4)

    linux常用命令(4) --- Vim编辑器与Shell命令脚本 如何使用vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库: 通过vim编辑器将Linux命令放入合适的逻辑测试语句(if ...

最新文章

  1. python 队列 一次取多个_Queue 队列模块-Python成为专业人士笔记
  2. MySQL数据库引擎快速指导
  3. Resin-IOException: write() forbidden after writer is closed
  4. android 5.1 壁纸路径,RTFSC – Android5.1 壁纸设置流程简析 – RustFisher
  5. 日期getUTCSeconds()方法以及JavaScript中的示例
  6. 微软超融合私有云测试11-SCVMM2016部署之添加Hyper-V集群
  7. 关于java设计模式与极品飞车游戏的思考
  8. FastFDS集群配置说明
  9. Arp病毒专杀工具下载及其防治解决方案
  10. 慕课软件质量保证与测试(第七章.课后作业)
  11. jQuery第二章选择器
  12. 广州坐标系转换大地2000_你好,怎么将经纬度坐标转换成大地2000坐标?
  13. 计算机房通气换气次数,地下制冷机房,水泵房,配电房的排风量按多少换气次数计算...
  14. java实现第七届蓝桥杯四平方和
  15. 如何减少页面加载时间(前端性能优化)
  16. 50个极具创意和灵感的404页面
  17. python打开docx出错_导入pythondocx时出错?
  18. 水煮三国第二章:能把梳子卖给和尚吗?
  19. vs2015 + BabeLua + Cocos2d-x 3.10配置
  20. delphi 多线程详解及其详解例子

热门文章

  1. 是否应该立即将网站升级到Drupal 8?
  2. [LeetCode]: 100: Same Tree
  3. 从循环引用谈依赖倒置原则
  4. 使用Windows8开发Metro风格应用四
  5. MDT2010部署之二配置MDT2010
  6. 【AD用户配置系列三】文件夹重定向为用户登录与注销加速
  7. ActiveX、OLE和COM介绍
  8. python导入csv文件中特定列-如何使用标头完整的python导入csv文件,其中第一列为非数字...
  9. 天河二号超级计算机拿来玩游戏,“天河二号超级计算机”是我国独立自主研制的超级计算机系统,...
  10. matlab八节点六面体程序,平面8节点等参元完整程序