一、概述

vi: Visual Interface 可视化接口

vim: VI iMproved VI增强版

全屏编辑器,模式化编辑器

vim模式:

  • 编辑模式(命令模式)
  • 输入模式
  • 末行模式

模式转换:

编辑-->输入:

    i: 在当前光标所在字符的前面,转为输入模式;【常用】
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;

输入-->编辑:按  ESC

编辑-->末行:按  :

末行-->编辑:按 ESC, ESC

注:输入模式和末行模式之间不能直接切换

二、命令操作

1、打开文件

  vim aa.txt

2、保存或退出:末行模式关闭文件:【按 ESC 键,然后输入 : 跳到末行模式】

  :w 保存文件但不退出vi

  :w file 将修改另外保存到file中,不退出vi

  :w! 强制保存,不推出vi

  :wq 保存文件并退出vi  桶 :x

  :wq! 强制保存文件,并退出vi

  q: 不保存文件,退出vi

  :q! 不保存文件,强制退出vi

  :e! 放弃所有修改,从上次保存文件开始再编辑

编辑模式下退出

  ZZ: 保存并退出

3、删除:非编辑模式下【按ESC键 跳到命令模式,然后:】

  dd:删除游标所在的一整行(常用)

  ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行

  d1G:删除光标所在到第一行的所有数据

  dG:删除光标所在到最后一行的所有数据

  d$:删除光标所在处,到该行的最后一个字符

  d0:那个是数字0,删除光标所在到该行的最前面的一个字符

  x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspace]即退格键)

  nx:n为数字,连续向后删除n个字符

4、翻屏

  Ctrl+f: 向下翻一屏

  Ctrl+b: 向上翻一屏

  Ctrl+d: 向下翻半屏

  Ctrl+u: 向上翻半屏

5、撤消编辑操作 u

  u:撤消前一次的编辑操作

  #u: 直接撤消最近#次编辑操作

  连续u命令可撤消此前的n次编辑操作

  撤消最近一次撤消操作:Ctrl+r

6、可视化模式

  v: 按字符选取   V:按矩形选取

7、查找

  /PATTERN  或 ?PATTERN

  n 下一个  N 上一个

8、查找并替换

  在末行模式下使用s命令

  headline,footlines#PATTERN#string#g

  1,$:表示全文

  %:表示全文

9、

三、其他扩展

1、显示或取消显示行号

  :set nu

  :set nonu

  mu = number

2、显示忽略或区分字符大小写

  :set ic

  :set noic

  ic = ignorecase

3、设定自动缩进

  :set ai

  :set noai

  ai = autoindent

4、查找到的文本高亮显示或取消

  :set hlsearch

  :set nohlsearch

5、语法高亮

  :syntax on

  :syntax off

注:特性当前有效,如果想要永久有效需修改配置文件

  /etc/vimrc 针对所有用户

  ~/.vimrc 针对当前用户

008-linux shell vim使用的更多相关文章

  1. Linux Shell Vim 经常使用命令、使用技巧总结

    前言 本文总结了自己实际开发中的经常使用命令,不定时更新,方便自己和其它人查阅. 如有其它提高效率的使用技巧.欢迎留言. 本文地址 http://blog.csdn.net/never_cxb/art ...

  2. 73条日常Linux shell命令汇总,总有一条你需要!

    转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo &q ...

  3. Linux shell用法和技巧(转)

    原文出处: techbar   译文出处: 外刊IT评论 使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某 ...

  4. Linux Shell 数学运算

    Linux Shell 数学运算 在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果.要在Shell中进行数学运算,我们需要借助点小手段.目前,Linux Shell中进行数学运 ...

  5. Linux shell 常用

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  6. linux shell突然显示-bash-4.1#的解决方法

    老沙昨天还登录这个linux服务器,并且命令行好好的,今天突然在linux shell中不显示路径了,显示为-bash-4.1#. 以下是老沙的解决方案 vim ~/.bash_profile 如果没 ...

  7. Linux shell用法和技巧

         使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这 ...

  8. linux —— shell 编程(整体框架与基础笔记)

    导读 关于shell编程基础的学习,网上有很多资源,如果在校图书馆应该也有一些教程,所以这里对于零碎的基础不做详细记录,而只是对一些常用的概念.命令与操作做一个简要的记录,以备方便查找. (本文所有语 ...

  9. Linux shell日常命令和技巧

    转自:http://www.vaikan.com/linux-shell-tips-and-tricks/ 原文:http://www.techbar.me/linux-shell-tips/ 使用L ...

  10. Linux shell用法和技巧(转)

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

随机推荐

  1. cad快捷键与命令大全

    一入绘图深似海,从此各种快捷键就要不分昼夜在脑海,忘记了哪一个,对于效率来说都是一个考验. 快捷键用处怎么大,那么的实用,需要背诵哪些呢?史上最全快捷键汇总,大神都在使用快捷键操作,这里给你来一个大汇 ...

  2. rest framework 之视图

    一.APIView APIView 直接继承 View(Django 内置的 View),也就是说 APIView 是最贴近原生 Django 的 View 的. 因此可定制程度高,根据请求方法不同执 ...

  3. Linux操作系统-CentOS7启动流程和服务管理

    Linux操作系统-CentOS7启动流程和服务管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.systemd POST --> Boot Sequence --&g ...

  4. Kali linux network is unreachable

    使用树莓派4 安装完kali linux后,配置好ip,能ping通上级路由. 但ping公网地址显示网络不可达. Ping: connect: network is unreachable 解决方法 ...

  5. MariaDB日志文件、备份与恢复

    1. 数据库的6种日志 数据库有6种日志,分别是:查询日志.慢查询日志.错误日志.二进制日志.中继日志以及事务日志. 1> 查询日志 查询日志记录每一条sql语句,建议不开启,因为如果访问量较大 ...

  6. Buuctf-------WEB之easy_tornado

    1.给了三个提示 flag在/fllllllllllllag这里 Render+tornado这两个东西,显然是python web 根据提示flag所在文件夹,加上路径去访问,发现无法访问,被跳转到 ...

  7. Nginx下隐藏index.php

    在用NGINX搭建web网站时遇到一个问题,那就是除了网站的首页能够正常打开,其他的子网站都打不开,显示找不到文件.但是如果你在网址后面加上index.php,子网站就又可以打开了.那么我们怎么才能不 ...

  8. 设计模式--Proxy模式

    这篇主要介绍代理模式相关内容,主要是一些基本概念普及. 代理模式 1.什么是代理模式? 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问.[DP] 通俗的说就是指客户端并不直接调用 ...

  9. How do I fix "selector not recognized" runtime exceptions when trying to use category methods from a static library?

    https://developer.apple.com/library/content/qa/qa1490/_index.html A: If you're seeing a "select ...

  10. Type Encodings

    https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles ...