vim:即visual interface improved,是从 vi 发展出来的一个功能强大的文本编辑器,下面来介绍下vim命令的一些简单使用方法。

vim属于模式化编辑器,有以下三种工作模式:编辑模式(默认)、输入模式和末行模式 。

我们用vim打开一个或多个文本文件时,使用格式为:vim [options] file file2...,常用的选项有:

+#:表示打开文本文件后,让光标定位到第#行行首

+/pattern : 表示打开文本文件后,让光标定位到第一个被pattern匹配到的行的行首

-o: 表示打开多个文本文件后,将窗口水平分割

-O: 表示打开多个文本文件后,将窗口竖直分割

一、模式间转换:

编辑模式 ==> 输入模式:

i:insert,在当前光标所在字符的前方转入输入模式;

a: append,附加,在当前光标所在字符的后方转入输入模式;

I:当前行行首转入输入模式

A:当前行行尾转入输入模式

o: 在当前行下方新建一个空白行并转入输入模式

O: 在当前行上方新建一个空白行并转入输入模式

输入模式 ==> 编辑模式:按 ESC 键

编辑模式 ==> 末行模式:按  :  键

末行模式 ==> 编辑模式:按一下或多下 ESC 键

二、vim光标跳转

1、字符间跳转:h(左), j(下), k(上), l(右),当我们在命令前面加#(表示具体数字)则表示一次移动#个字符。

2、单词间跳转:w(下一个单词的词首)、e(当前或下一个单词的词尾)、b(当前或前一个单词的词首),同理在命令前加#,则表示一次移动#个单词

3、行内移动:0(绝对行首)、^(本行行首第一个非空白字符)、$(绝对行尾)

4、行间移动:#G(跳转至第#行)、G(尾行)

三、vim命令:

1、字符编辑(编辑模式下)

x: 删除光标所在处的字符

#COMMAND: 删除光标所在处及向右的#个字符

d: 删除,结合光标跳转字符,实现多字符删除

d$: 删除当前光标所在处至行尾

d^: 删除当前光标所在处至行首

dw:删除当前光标所在处至下一个单词词首

de:删除当前光标所在处至当前或下一个单词词尾

db:删除当前光标所在处至当前或上一个单词词首

dd: 删除行

#dd: 删除#行,从当前光标所在行开始,删除#行

y: 复制(yank),结合光标跳转字符,实现多字符复制,使用方法同d命令

p: 粘贴(paste)

p:缓冲区存储如果整行,则粘贴于当前行下方;否则,则粘贴于当前光标所在处的后方

P:缓冲区存储如果整行,则粘贴于当前行上方;否则,则粘贴于当前光标所在处的前方

c: 改变(change),结合光标跳转字符,实现多字符修改,使用方法同d命令,并转入输入模式

r: 替换(replace),替换单个字符

u: 撤销,撤销上次操作,#u则表示撤销#次前操作

ctrl+r: 取消上次的撤销操作

.:重复执行上次操作

2、关闭文件:(末行模式下)

:q!  保不存退出

:w!  强制保存(通常没有写权限时只有root用户才能执行此类操作)

:wq  保存退出

:x   保存退出

:w /path/to/somefile 文件另存

3、查找和替换:(末行模式下)

字符查找:

/pattern:从上往下根据pattern到文本中查找

n:查看下一个匹配到的内容

N:查看上一个匹配到的内容

?pattern:从下往上根据pattern到文本中查找

n:查看下一个匹配到的内容

N:查看上一个匹配到的内容

字符查找替换:使用方法:s/要查找的内容/替换为的内容/(ig),要查找的内容可以使用模式,替换为的内容不能除后向引用以外的元字符,分隔符可按需要指定:s@@@, s###

i: 忽略字符大小写

g: 全局替换

后向引用:如果要引用“要找到的内容”匹配到的所有内容,可使用&直接引用,而无需在模式中加\(\);如果只引用“要找到的内容”中的部分模式匹配到的内容,则仍需使用正则表达式的分组;而后使用\1, \2,...进行引用

四、设置内置变量(末行模式下)

在末行模式下使用set命令定义某内置变量的值为所需要的值;如果我们需要让这些设置永久生效,那么我们需要将设置保存到配置文件中:/etc/vimrc或者~/.vimrc

:set nu     显示行号

:set nonu   取消显示行号

:set sm     开启高亮和括号匹配功能

:set nosm   取消高亮和括号匹配功能

:set ai     自动缩进

:set noai   取消自动缩进

:set ic     忽略字符大小写

:set noic   不忽略字符大小写

:set hlsearch  搜索结果显示高亮

:set nohlsearch  关闭搜索结果显示高亮

:syntax on   开启语法高亮功能

:syntax off  关闭语法高亮功能

转载于:https://blog.51cto.com/zhouxt/1579414

每日命令之vim简单使用相关推荐

  1. 你知道吗?Linux命令竟如此简单!

    你知道吗?Linux命令竟如此简单! 我Linux安完了,如何快速入门? 1.进入终端 2.好了,入门完了 咳 咳 开个玩笑 2.1查看磁盘容量 2.2新建 2.3查看&删除 2.5解压&am ...

  2. vim简单使用教程【转】

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  3. cd短是什么意思_每日命令|pwd、cd

    01 命令简介 上回说到<每日命令 | ls>,今天我们来说一说pwd命令和cd命令. pwd命令--返回当前工作目录名称. cd命令--改变工作目录. 什么是工作目录? 举个例子:我在北 ...

  4. linux命令vi作用,详解Linux常用命令的用法(二)――――文本编辑器命令vi/vim

    vi/vim介绍 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. 1.vi和vim的区别: 就是在进入一般命令模式后,当按下(i.I.o ...

  5. 【Linux系统管理】05 常用命令 06 vim编辑器

    一.命令的基本格式 1.1 命令的提示符 [root@localhost ~]# []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,现在使用的是root用户登录. @:分隔 ...

  6. shell个性化配置+vim简单配置

    配置bash_profile,不同文件类型显示不同颜色,同时下方cmd栏显示当前目录,记得source ~/.bash_profile(注意替换成自己的目录) "export PS1='\e ...

  7. linux命令:vim

    VIM命令简介: 文本编辑器,字处理器 处理纯ASCII文本 1.命令格式: vim [option] file 2.命令功能:   用于对文本进行编辑的命令. vim模式: 编辑模式(命令模式) 输 ...

  8. linux每日命令(26):Linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...

  9. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...

最新文章

  1. 计算机网络-物理层设备
  2. -webkit-font-smoothing
  3. 程序员的自由,不只在那一寸领地!
  4. Android 简单天气预报
  5. 国内首款全国产固态硬盘控制芯片发布
  6. 第 5-7 课:Java 中的各种锁和 CAS + 面试题
  7. 探秘Spring AOP(下)
  8. cnn加工是什么意思_天秤座R-CNN:全面平衡的目标检测器
  9. libs/spandsp/src/floating_fudge.h:40:20: error: implicit declaration of function ‘sin’ [-Werror=impl
  10. 【CF Round #534 Div2】B:Game with string(水题,积累思路)
  11. 图像处理中的差分求导计算和相应的卷积核(filter)
  12. oracle数据如何采集,网页采集的数据如何导出到Oracle数据库 - 八爪鱼采集器
  13. 路由器桥接LAN接LAN口(改DHCP以及详细避坑教程)
  14. pandas文件保存操作
  15. 到底什么是阿里味?能否在不加入阿里的时候可以体验一下
  16. python写入中文json
  17. Mac Terminal 美化
  18. 生活简单案例,分析管理中的深奥道理
  19. 一个简单的集成电路运算放大器的计算和multisim的仿真
  20. 零基础语法入门第十二/十三讲指示代词和不定代词以及形容词

热门文章

  1. wxPython 资料链接
  2. Webpack入门——使用Webpack打包Angular项目的一个例子
  3. androidpn 推送初探
  4. 使用 IntraWeb (10) - CSS
  5. 开源的数据可视化JavaScript图表库:ECharts
  6. 熟练掌握如何设置空闲超时时间.
  7. 请确保此代码文件中定义的类与“inherits”属性匹配.并且该类扩展的基类(例如 Page 或 UserControl)是正确...
  8. 《并行计算的编程模型》一1.10 MPI开发心得
  9. devstack安装openstack
  10. jsmin 使用方法