编辑模式--->输入模式

i : insert 在光标所在处输入;

a:append 在光标所在处后面输入;

o:在当前光标所在行的下方打开一个新行;

I:在当前光标所在行的行首输入;

A:在当前光标所在行的行尾输入;

O:在当前光标所在行的上面打开一个新行

移动光标(编辑模式)

1.移动光标
  h 左

  l 右
  j 下
  k 上
#h :移动#个字符

单词间跳转

  w: 下一个单词的词首

  e:当前或下一个单词的词尾

  b:当前或前一个单词的词首

2、行内跳转

  0:绝对行首

  $ :绝对行尾
  ^ 行首的第一个非空白字符

3.行间跳转
  gg 第一行
  G 最后一行

  #G : 跳转至#行

4.删除单个字符
  x 逐个字符删除(删除光标所在处及向后的单个字符)
  nx 指定删除n个字符 (删除光标所在处及向后的共n个字符)

  nX : 删除光标所在处及向前的共n个字符

  xp:交换光标所在处的字符及其后面字符的位置(前后交换)

5.删除行命令
  dd 单行删除(剪切) 删除当前光标所在行
  ndd n行删除(剪切) 删除包括当前光标所在行在内的n行
  d$

  d^

  d0

  

末行模式  n,md  指定删除(剪切)行位置
  PS 可按p键黏贴

6.复制黏贴 (y,yank)
  yy 单行剪切
  nyy n行剪切
  PS 可按p键黏贴

7.替换命令
  r 单个字符替换
  R 多个字符替换

8.撤销命令
  u 撤销前一次的编辑操作操作

    连续u命令可能撤销此前的n次编辑操作(最多50次操作)
  nu 撤销最近n次编辑操作
  撤销刚才撤销的操作(返回上次一撤销的操作):ctrl+r

  .  :重复前一个编辑操作

9.可视化模式
 什么是可视化:就是选中一块区域,然后在上面进行一些操作,记住与普通的操作不同的是,可视化操作是对整块选中的区域进行操作的,有些时候效率会更高。 

  v 按字符选取 (使用上下左右键来使用光标选定)
  V 按矩形选取
PS y  复制
PS p  黏贴
PS u 字母全部变为小写
PS U 字母全部变为大写
PS > 向右缩进
PS < 向左缩进

末行模式:内建的命令行接口

地址定界

  :start_pos,end_pos

    # :具体第#行,例如2表示第2行;

    #,# :从左侧#表示行起始,到右侧#表示行结尾;

    #,+# :从左侧#表示的行起始,加上右侧#表示的行数;

    . :当前行

    $:最后一行

       .,$-

    % :全文,相当于1,$

/pat1/,/pat2/ :从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

后跟一个编辑命令 

  d

  y

  w /PATH/FROM/SOMEFILE :将范围内的行另存至指定文件中

    ,50w  /tmp/test/new

  r /PATH/FROM/SOMEFILE  :在指定位置(即当前光标位置)插入指定文件中的所有内容  

    100r  /etc/issue  :在指定位置即从100行处插入/etc/issue文件所有内容

10.查找

末行模式下:
/PATTERN向后搜索字符串PATTERN

  e.g /\<r..t\> 

?PATTERN向前搜索字符串PATTERN

  • n:向下逐个显示匹配到的信息
  • N:向上逐个显示匹配到的信息

11.查找并替换
末行模式:
n,m s/old/new/gi  或s@@@ 或s%%%

ps:  i表示大小写不敏感查找,I表示大小写敏感;
PS: n:起始行 m:终止行 old:想要选择匹配到的信息 new:想要改变的信息
PS: 从第二行到第二十行中的a全部替换为b:,20s/a/b/g
PS: .:表示当前行 $:表示最后一行 %:表示全文 #,$ @/old/new/g :从当前#行到最后一行替换   1,$s/r\(..\)t/R\1T/g
  %s/l....x/&er/   &: 直接引用前面所有匹配内容
注:
  要查找的内容:可使用模式
  替换为的内容:不可使用模式,但可以使用\1,\2,...等后向引用符号,还可以使用"&"引用前面查找时查找到的整个内容

12.使用vim编辑多个文件
vim file1 file2 file3...
PS:先打开file1,若想编辑file2,可在末行模式下输入next
若文件有很多个,则可以在末行模式下输入last(最后一个文本) first(第一个文件)等对应的英文

 若文件有很多个,则可以在末行模式下输入
  • :next 切换至下一个文件
  • :prev 切换至前一个文件
  • :last 切换至最后一个文件
  • :first 切换至第一个文件
  • 退出 :qa 全部退出

13 .窗口分割模式
vim -O file1 file2    垂直分割显示

vim -o file1 file2    水平分割显示

ctrl+w+上下键,来回切换窗口

单文件窗口分割:
  ctrl+w+s 水平拆分窗口
  ctrl+w+v 垂直拆分窗口 在窗口间切换光标 ctrl+w w 切换窗口 ctrl+w q 退出当前窗口    :qa 关闭所有窗口

vim保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件

14.跟shell交换
末行模式下:
!COMMAND (要执行的shell)

15.高级会话
末行模式下:

 (1)显示或取消行号:显示 set nu  取消 set nonu
    (2)设定自动缩进: 设定 set ai 取消 set noai
   (3)查找到的文本信息高亮:设定 set hlsearch 取消 set nohlsearch
     语法高亮:设定 syntax on 取消 syntax off  (4)括号匹配
    匹配:set sm (set showmatch)
    取消: set nosm
(5)忽略字符的大小写
    启用:set ic
    不忽略:set noic

16.文件加密
末行模式下:
设定 X
取消 X 一直回车

17.配置文件
/etc/vimrc 全局文件
~/.vimrc  在自己家目录下仅对该用户设置

练习

替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

  :%s@/etc/sysconfig/init@/var/log@g

删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号
  :%s/^#\([[:space:]]\)\+/\1/g
每行开头为空白字符的行的行首添加一个#号
  :%s/^[[:space:]]\+/#&/

如何设置tab缩进为4个字符?

# 永久设置(设置后重新打开文件编辑即可生效) [root@wybaron_host1015 ~]# echo -e "set ts=4\nset expandtab" >> /etc/vimrc

将文本文件中的TAB替换为空格

# 命令行模式下
:set ts=4
:set expandtab
:%retab!
# 加!是用于处理所有的TAB,若不加!,则只处理行首的TAB

将文本文件中的空格替换为TAB

# 命令行模式下
:set ts=4
:set noexpandtab
:%retab!
# 加!是用于处理所有的TAB,若不加!,则只处理行首的TAB

https://my.oschina.net/comics

更详细请参考:http://note.youdao.com/noteshare?id=04b6d3beacfd1f5c0aa14485c32cf4a7&sub=11F0136F9D0548C38A0DD116EC80D654

配置自己vim请参考: https://blog.csdn.net/zisefeizhu/article/details/89407487


文件颜色及类型
文件不同颜色所代表的不同含义:
白色: 普通颜色
红色: 压缩文件
黄色: 设备文件(/dev目录下)
青蓝色:链接文件
青绿色:可执行文件
青黄色:管道文件
粉红色:图片文件或socket(用s表示)
文件类型:
- :普通文件
l(小写L):链接文件
b :块文件【块设备文件】
c :字符设备文件
p :管道文件

常使用的VIM命令及文件颜色代表含义的更多相关文章

  1. Linux 使用vim命令编辑文件内容

    在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式. 命令模式 vim  文件名   进入命令模式,vim也可以写成vi. 如果 ...

  2. linux的ls命令中文件颜色含义

    linux命令ls会显示出文件的颜色, 系统约定的默认颜色含义如下: 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件 红色:表示压缩文件 浅蓝色:链接文件 主要是使用ln命令建立的文件 红色 ...

  3. Ubuntu系统中各种文件颜色的含义

    蓝 色:文件夹 ,ls -l或ll时可以看到权限部分的第1个字母是d红色:压缩文件   绿色:可执行文件,包括jar白色:文本文件红色闪烁:错误的符号链接淡蓝色:符号链接黄色:设备文件灰色:其它文件 ...

  4. Linux各文件颜色的含义

    Linux系统中文件有多种颜色,不同颜色文件代表不同类型的文件,具体如下: 蓝色:目录 绿色:可执行文件 红色:压缩文件 浅蓝色:链接文件 白色:普通文件 黄色:设备文件

  5. linux下文件的一些文件颜色的含义

    红色---->代表压缩文件 红色闪烁---->代表链接文件有问题 黄色---->代表设备文件 深蓝色---->代表目录 浅蓝色----->代表链接文件 绿色----> ...

  6. Linux文件目录介绍及文件颜色区别

    文件颜色代表含义: 蓝色表示目录: 绿色表示可执行文件: 红色表示压缩文件: 浅蓝色表示链接文件: 白色表示其他文件: 黄色是设备文件,包括block, char, fifo. 常见目录解释 Linu ...

  7. Linux基础命令之文件过滤及内容编辑处理(二)

    . wc 用于统计文件的行数,单词,或字节数 -l # 统计行数 -L # 打印最长行的长度,一般脚本中判断字符长度 -c # 统计字节数 -w # 统计单词数 -m 统计字符数 . iconv 转换 ...

  8. vim 命令图解

    vim 命令,vim是一个很好的编辑工具,下面为大家介绍一下vim入门基本命令. 方法/步骤   1 [vim 命令-启动vimtutor]:执行命令:vimtutor.vimtutor是vim使用入 ...

  9. Linux常用命令:文件操作命令

    Linux系统命令主要包括文件操作.网络命令和性能命令,本文介绍常用文件操作命令. 修改文件属性 文件类型: 普通文件:- 目录文件:d 块设备文件:b,硬盘 字符设备: c,串行端口的接口设备,例如 ...

随机推荐

  1. SQL优化中的重要概念:阻塞

    原文:SQL优化中的重要概念:阻塞 上一篇讲到锁定的概念,那么接下来就是如何找到由于锁定而发生阻塞的进程,并解决阻塞问题. 1.会话1,修改数据,但没有提交事务 BEGIN TRAN select @ ...

  2. vue 集成 NEditor 富文本

    下载NEditor 放在  vue 项目下面 public  文件中. 安装    vue-neditor-wrap  执行命令 npm  install  vue-neditor-wrap 代码使用 ...

  3. ASP.NET Core 中的脚本标记帮助程序

    官网地址:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/tag-helpers/built-in/script-tag-helper?v ...

  4. ConfigParser读取配置文件时报错:ConfigParser.MissingSectionHeaderError

    使用ConfigParser来读取配置文件,经常会发现经过记事本.notepad++修改后的配置文件读取时出现下面的问题: ConfigParser.MissingSectionHeaderError ...

  5. json其实就是一种数据格式

    1.json的两种书写: 2.字符串转换为json格式:

  6. AngularJS入门教程之数据绑定原理详解

    这篇文章主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据帮定是如何工作的人.如果你已经对Angular比较了解了,那强烈建议你直接去阅读源代码. Angular用户都想知道数据绑定 ...

  7. 记录在苹果X手机上运行遇到的代码Dom被阻塞不更新的一个坑

    一.问题产生背景: 开发支付功能,代码逻辑如下:点击支付后,请求后台接口得到流水号以及第三方支付台链接,跳转支付台(在苹果手机则是弹出支付台层):支付完毕后返回支付页面,或中途退出支付台返回支付页面: ...

  8. S2-048

    前言 S2-048漏洞和struts2-struts1-plugin插件有关,该插件用于将Struts1的action也能在struts2上运行,提高兼容性(作用是我猜的~) 正文 我们先看下这个插件 ...

  9. 什么是虚拟DOM

    一.前言 虚拟DOM概念随着react的诞生而诞生,由facebook提出,其卓越的性能很快得到广大开发者的认可:继react之后vue2.0也在其核心引入了虚拟DOM的概念,本文将以vue2.0使用 ...

  10. MYSQL的B+Tree索引树高度如何计算

    前一段被问到一个平时没有关注到有关于MYSQL索引相关的问题点,被问到一个表有3000万记录,假如有一列占8位字节的字段,根据这一列建索引的话索引树的高度是多少? 这一问当时就被问蒙了,平时这也只关注 ...