zoukankan      html  css  js  c++  java
  • 第4章 文本编辑器vim

    1. vim常用操作

    1.1 vim简介

    (1)vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。

    (2)vim没有菜单,只有命令。

    (3)vim编辑器的安装

      ①所需的4个安装包vim-filesystem、vim-common、vim-enhanced、vim-minimal

      ②查看本机己经存在的包:#rpm –qa | grep vim

      ③安装vim编辑器:yum –y install vim*

    1.2 vim编辑器的设置

    (1)修改配置文件 /etc/vimrc或#~/.vimrc

      ①按C语言语法自动调整缩进:set cindent,如按{,再换行会自动缩进

      自动缩进: set autoindent

      加行号set nu

      tab缩进4个字符set tabstop=4

    (2)多文件并发操作主要用于不同文件中进行复制、粘贴操作

      ①同时打开多个文件:#vim test1.c test2.c test3.c

      ②末行模式下,查看打开的文件: :args,然后会在下方显示,[test1.c] test2.c test3.c,其中加[]的文件表示当前正在编辑的文件

      ③切换到其它文件: :first、:next、:prev、:last

    1.3 vim的工作模式

    (1)3种工作模式及切换

     

    (2)基础编辑

      ①插入命令

    命令

    作用

    a

    在光标所在字符后插入

    A

    在光标所在行尾插入

    i

    在光标所在字符前插入

    I

    在光标所在行首插入

    o

    在光标下插入新行

    O

    在光标上插入新行

    s

    删除光旨定的字符并进入插入模式

    S

    将光标所在行清除(内容)并进入插入模式

      ②定位命令

    命令

    作用

    :set nu

    设置行号

    :set nonu

    取消行号

    gg

    到第一行

    G

    到最后一行

    nG (n go)

    到第n行

    :n

    到第n行

    $

    移到行尾

    0(数字0)

    移动行首

      ③删除命令

    命令

    作用

    x

    删除光标所在处字符

    nx

    删除光标所在处后n个字符

    dd

    删除光标所在行,ndd删除n行

    dG

    删除光标所在行到文件末尾内容

    D

    删除光标所在处到行尾内容

    :n1,n2d

    删除指定范围的行

      ④复制和剪切命令

    命令

    作用

    yy

    复制当前行

    nyy

    复制当前行以下n行

    dd

    剪切当前行

    ndd

    剪切当前行以下n行

    D

    删除光标所在处到行尾内容

    p、P

    粘贴在当前光标所在行下或行上

      ⑤替换和撤消命令

    命令

    作用

    r

    取代光标所在处字符

    R

    从光标所在处开始替换字符,直到按ESC结束

    u

    取消上一步操作

    Ctrl+R

    重做操作

      ⑥搜索和搜索替换命令

    命令

    作用

    /string

    ?string

    搜索向前(或向后)指定字符串,/向前,?表示向后查找。

    忽略大小写:set /ic

    n

    搜索指定字符串的下一个出现位置

    :%s/old/new/g

    全文替换指定字符串,s前面加%,表示全文范围,g表示global,如果不加%表示当前行。

    :n1,n2s/old/new/g

    s前面加数字,表示在指定范围的行内替换指定字符串

      ⑦保存和退出命令

    命令

    作用

    :w

    只保存,不退出

    :w new_filename

    另存为指定文件

    :wq

    保存修改并退出

    ZZ

    快捷键(shift+z+z),保存修改并退出

    :q!

    不保存修改退出

    :wq!

    强行保存修改并退出(文件所有者及root可使用,针对文件只有只读权限的情况!)

    2. vim使用技巧

    (1)末行模式执行命令:格式,!命令

      如,:!ls -l /etc,:!date

    (2)导入命令执行结果

      ①导入命令执行结果:      #r !命令, eg.#r !ll /tmp

      ②导入文件到光标所在位置:#r 文件名,eg.#r /etc/issue

    (3)定义快捷键:map 快捷键 触发命令

      ① 注释一行::map ^p I#<ESC>  //定义ctrl+p为I表示光标回到行首并进入插入模式,然后输入#,最后按ESC返回命令模式(注意,其中的^P在输入时应按ctrl+v+p)。

      ②删除注释::map ^B 0x  //ctrl+B,0表示光标定位到行首,但仍在命令模式下,x表示删除光标下的字符。

      ③插入邮箱地址::map ^m isample@126.com<ESC> //ctrl+m,其中i表示进入插入模式,<ESC>返回命令模式。

      ④在插入模式下,连续按两下”jj“用来替换ESC返回命令模式:imap jj <ESC>:  //也可以写入/etc/vimrc永久生效!(或定义ctrl+i::imap <C-I> <ESC>:)

    (4)连续行注释

      ①注释连续行:    :n1,n2s/^/#/g  //其中^表示行首,后面什么都不写表示空字符,替换为#

      ②删除连续行注释::n1,n2s/^#//g   //将#替换为空,第3个/后面什么都不写表示空字符。

      ③以//来注释:    :n1,n2s/^////g   //其中表示转义,即转为//。原意,将行首的空字符转为//,起到注释作用。

    (5)替换: :ab mymail sample@126.com //ab命令,用mymail替换sample@126.com

     

  • 相关阅读:
    vue 简易弹框
    js瀑布流触底动态加载数据
    ios解决大转盘层级以及闪烁bug
    dom 相同父节点查找
    为什么 EXISTS(NOT EXIST) 与 JOIN(LEFT JOIN) 的性能会比 IN(NOT IN) 好
    exists(关联表)与left join 的效率比较
    【SpringCloud】Re04 Gateway
    【SpringCloud】Re03 Feign
    【SpringCloud】 Re02 Nacos
    【SpringCloud】 Re01
  • 原文地址:https://www.cnblogs.com/5iedu/p/6130651.html
Copyright © 2011-2022 走看看