模式切换:

编辑模式 <-- 【:】<--命令模式 -->【a、i、o A、I、O】-->  插入模式

编辑模式操作:

设置行号  :set nu   :set nonu

复制剪切内容命令:

:9,15 copy 16  或 :9,15 co 16
由此可有:
:9,15 move 16  或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面 

行号移动: gg(第一行) G(最后一行)  nG/:n
移动: h、j、k、l    0 $   H、M、L

跳转到文件头:1

跳转到文件尾:$

搜索:
/『搜索的字符』  n下一个 N上个   忽略大小写  :set ic

选择行:V
复制  yy/Y   nyy/nY  
剪切  dd  ndd       粘贴   p/P
替换:
r  R + Esc   
全文替换指定字符串  :%s/原串/新串/g  或者 :%s/原串/新串/c 【多一个判断】
n1到n2行范围替换指定字符串  :n1,n2s/原串/新串/g  :n1,n2s/原串/新串/c
删除: x  nx   dd ndd dG  D    :n1,n2d
撤销   u
保存退出:
:wq!  只有root和文件所有者可以无跨w权限,这样使用

Vim技巧:

导入文件   :r 文件名
执行命令   :! 命令名
定义快捷键: :map Ctrl+P I#<ESC>  在行首加#号
           :map Ctrl+B 0x       将行首的字符去掉
           :unmap
替换::ab aa  bb     将aa变为bb        :unab aa

举例:

使用命令组合
:r !date   作用是导入日期
grep -v “^#” 文件名 | more     排除#开头的行,提取有效行
定义快捷键:
:map Ctrl+P I#<ESC>  在行首加#号
:map Ctrl+B 0x       将行首的字符去掉
:unmap
:n1,n2s/^/#/g        连续行的注释,加#
:n1,n2s/^#//g        连续行的注释,去掉#
:n1,n2s/\/\//g       连续行的注释,加//, \为转义符

例:替换为真实的邮箱地址  
:ab  mymail jinxinzhao@creditease@.cn   
:unab myail   #取消设置

保存对Vim的永久修改配置:
修改vi的缺省的配置文件:home目录下  Users/home  
vi ~/.vimrc                        vi root/.vimrc     注:用 '' 注释;

其他:

找会使查找字一直显示高亮 :nohl 可以取消高亮

从零开始学Linux系统(四)之Vi/Vim操作指令的更多相关文章

  1. 从零开始学Linux系统(二)之基本操作指令

    ifconfigping ip地址帮助:ping -t ip地址ping -c 次数 ip地址ping -s 包的大小关机重启:shutdown -h now reboot清屏:clear  == C ...

  2. Linux系统中的vi/vim指令【详解】

    vi是Unix世界里极为普遍的全屏幕文本编辑器,vim是它的改进版本Vi IMproved的简称.几乎可以说任何一台Unix机器都会提供这套软件. 只要简单的在Shell下执行vi就可以进入 vi 的 ...

  3. 小白学Linux(五)--VI/VIM编辑器

    我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...

  4. 从零开始学Linux系统(一)之引导流程解析

    Linux系统:分时多用户多任务的操作系统: Linux系统引导流程: inittab配置文件中: 定义了linux系统的运行的7个级别:从0~6 0.6:分别代表关机和重启,不建议设置为默认的运行级 ...

  5. 从零开始学Linux系统(三)安装CentOS-7及软件包管理操作

    推荐博文: VirtualBox安装CentOS7步骤详解: https://my.oschina.net/AaronDMC/blog/840753 如何安装CentOS7字符界面 :http://b ...

  6. 从零开始学Linux系统(五)用户管理和权限管理

    权限管理: 常识: chmod  U-所有者  g-所属组  O-其他人r-4-可读  w-2-可写  x-1-可执行  s-4-SetUID    s-2-SetGID    t-1-粘着位 注:目 ...

  7. 新手必学linux文本文件编辑命令 vi vim.....

    作为一名Linux新手小白,今天就和大家简单地了解一下Linux的Vim文本编辑器的使用. Vim文本编辑器     vim编辑器的三大模式——命令模式.编辑模式和末行模式            命令 ...

  8. 从零开始学Xamarin.Forms(四) Android 准备步骤(添加第三方Xamarin.Forms.Labs库)

    原文:从零开始学Xamarin.Forms(四) Android 准备步骤(添加第三方Xamarin.Forms.Labs库)  1.安装对应dll     Update-Package Xama ...

  9. 一般的linux系统默认安装的vim是精简版

    一般的linux系统默认安装的vim是精简版(vim-tiny),所以不能配置语法检查等属性或获取在线帮助.需要安装vim-x:x.x.x,vim-common,vim-runtime. :synta ...

随机推荐

  1. VS Help Viewer 显示内容为HTML源码的问题

    万恶的IE10 为了学习,安装了一套Windows Server 2012+SQL 2012+VS 2012的环境,整体感觉还不错,只是在使用Help Viewer查看帮助的时候,发现显示内容居然为H ...

  2. [CF19B]Checkout Assistant

    题目描述 Bob 来到一家现购自运商店,将 n 件商品放入了他的手推车,然后到收银台 付款.每件商品由它的价格 pi 和收银员扫描它的时间 ti 秒定义.当收银员正在扫 描某件商品时,Bob 可以从他 ...

  3. sparkML原始数据转换成label-features方法

    数据1:kaggle-旧金山犯罪分类数据 格式如下: Dates,Category,Descript,DayOfWeek,PdDistrict,Resolution,Address,X,Y -- :: ...

  4. 从零开始的Python学习Episode 1

    一.输入与输出 1.输入 input("number:") num = input("number:") 下面一段可以把输入的信息存在num中. 注意:输入的信 ...

  5. [ Continuously Update ] The Paper List of Image / Video Captioning

    Papers Published in 2018 Convolutional Image Captioning - Jyoti Aneja et al., CVPR 2018 - [ Paper Re ...

  6. C语言中动态内存的分配(malloc,realloc)

    动态内存分配:根据需要随时开辟,随时释放的内存分配方式.分配时机和释放时机完全由程序员决定,由于没有数据声明,这部分空间没有名字.无法像使用变量或数组那样通过变量名或数组名引用其中的数据,只能通过指针 ...

  7. vim编辑器配置及常用命令

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

  8. lintcode-11-二叉查找树中搜索区间

    二叉查找树中搜索区间 给定两个值 k1 和 k2(k1 < k2)和一个二叉查找树的根节点.找到树中所有值在 k1 到 k2 范围内的节点.即打印所有x (k1 <= x <= k2 ...

  9. iOS开发解决 jsonModel 属性跟系统的重复

    -(id)initWithDic:(NSDictionary *)dic { if (self = [super init]) { [self setValuesForKeysWithDictiona ...

  10. Swoole和Swoft的那些事 (Http/Rpc服务篇)

    https://www.jianshu.com/p/4c0f625d5e11 Swoft在PHPer圈中是一个门槛较高的Web框架,不仅仅由于框架本身带来了很多新概念和前沿的设计,还在于Swoft是一 ...