Vim 介绍

Vim 安装

Vim 配置(CentOS 环境)

  • 编辑配置文件是:sudo vim /etc/vimrc

Vim 基础快捷键

  • 注意

    • 严格区分字母大小写
    • 含有 Ctrl 字眼都表示 Ctrl 键盘按钮
    • 特定符号需要配合 Shift 键,比如字母键盘区上面的数字区:!@#%%^&*()
    • 要按出冒号键 : 也是需要 Shift 的
  • 移动
    • j,下
    • k,上
    • h,左
    • l,右
    • v,按 v 之后按方向键可以选中你要选中的文字
    • gg,跳到第 1 行
    • G,跳到最后一行
    • 16G 或 :16,跳到第 16 行
    • $,到本行 行尾
    • 0,到本行 行头
    • w,到下一个单词的 开头
    • e,到下一个单词的 结尾
    • Ctrl + u,向文件 首翻 半屏
    • Ctrl + d,向文件 尾翻 半屏
    • Ctrl + f,向文件 尾翻 一屏
    • Ctrl + b,向文件 首翻 一屏
    • *,匹配光标当前所在的单词,移动光标到 下一个 匹配单词
    • #,匹配光标当前所在的单词,移动光标到 上一个 匹配单词
    • ^,到本行第一个单词头
    • g_,到本行最后一个单词尾巴
    • %,匹配括号移动,包括 (、{、[
  • 插入
    • I,在当前 行首 插入
    • A,在当前 行尾 插入
    • i,在当前字符的 左边 插入
    • a,在当前字符的 右边 插入
    • o,在当前行 下面 插入一个新行
    • O,在当前行 上面 插入一个新行
  • 编辑
    • 删除

      • x,删除 光标后 的 1 个字符
      • 2x,删除 光标后 的 2 个字符
      • X,删除 光标前 的 1 个字符
      • 2X,删除 光标前 的 2 个字符
      • dd,删除当前行
      • cc,删除当前行后进入 insert 模式
      • dw,删除当前光标下的单词/空格
      • d$,删除光标至 行尾 所有字符
      • dG,删除光标至 文件尾 所有字符
      • 3dd,从当前光标开始,删掉 3 行
      • echo > aa.txt,从 bash 角度清空文件内容,这个比较高效
    • 复制
      • y,复制光标所选字符
      • yw,复制光标后单词
      • yy,复制当前行
      • 4yy,复制当前行及下面 4 行
      • y$,复制光标位置至 行尾 的内容
      • y^,复制光标位置至 行首 的内容
    • 粘贴
      • p,将粘贴板中内容复制到 光标之后
      • P,将粘贴板中内容复制到 光标之前
    • 其他
      • ddp,交换当前光标所在行和下一行的位置
      • u,撤销
      • :wq,退出并 保存
      • :q!,退出并 不保存
      • Ctrl + v,进入 Vim 列编辑
      • guu,把当前行的字母全部转换成 小写
      • gUU,把当前行的字母全部转换成 大写
      • g~~,把当前行的字母是大写的转换成小写,是小写的转换成大写
      • :saveas /opt/setups/text.txt,另存到 /opt/setups/text.txt
  • 搜索
    • /YouMeek,从光标开始处向文件尾搜索 YouMeek 字符,按 n 继续向下找,按 N 继续向上找
    • ?YouMeek,从光标开始处向文件首搜索 YouMeek 字符,按 n 继续向下找,按 N 继续向上找
  • 替换
    • :%s/YouMeek/Judasn/g,把文件中所有 YouMeek 替换为:Judasn
    • :%s/YouMeek/Judasn/,把文件中所有行中第一个 YouMeek 替换为:Judasn
    • :s/YouMeek/Judasn/,把光标当前行第一个 YouMeek 替换为 Judasn
    • :s/YouMeek/Judasn/g,把光标当前行所有 YouMeek 替换为 Judasn
    • :s#YouMeek/#Judasn/#,除了使用斜杠作为分隔符之外,还可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,该命令表示:把光标当前行第一个 YouMeek/ 替换为 Judasn/
    • :10,31s/YouMeek/Judasn/g,把第 10 行到 31 行之间所有 YouMeek 替换为 Judasn

Vim 的特殊复制、黏贴

  • Vim 提供了 12 个剪贴板,分别是:0,1,2,3,4,5,6,7,8,9,a,",默认采用的是 ",也就是双引号,可能你初读感觉很奇怪。你可以用 Vim 编辑某个文件,然后输入::reg。你可以看到如下内容:

  • 复制到某个剪切板的命令:"7y,表示使用 7 号剪切板。
  • 黏贴某个剪切板内容:"7p,表示使用 7 号剪切板内容进行黏贴

Vim 配置

  • 我个人本地不使用 Vim 的,基本上都是在操作服务器的时候使用,所以这里推荐这个配置文件

    • vim-for-server
    • 在假设你已经备份好你的 Vim 配置文件后,使用该配置文件:curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
    • 效果如下:
  • 需要特别注意的是,如果你平时粘贴内容到终端 Vim 出现缩进错乱,一般需要这样做:
    • 进入 vim 后,按 F5,然后 shift + insert 进行粘贴。这种事就不会错乱了。
    • 原因是:vim ~/.vimrc 中有一行这样的设置:set pastetoggle=<F5>

其他常用命令

  • 对两个文件进行对比:vimdiff /opt/1.txt /opt/2.txt

资料

Vim 安装和配置、优化的更多相关文章

  1. Vim 安装、配置及复制粘贴操作

    1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: set cind ...

  2. elasticsearch7.0安装及配置优化

    简单讲ES开箱即用,不用任何配置也能玩转搜索引擎:以下内容是根据易企秀线上实际使用场景进行的安装和配置,支持冷热数据分离 1.安装 Linux 环境下载安装包 curl -L -O https://a ...

  3. Ubuntu 16.04 Vim安装及配置【转】

    转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...

  4. Ubuntu 16.04 Vim安装及配置

    安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate vi | grep 'vi$' |xargs ls -al lrwxrwxrwx 1 root ...

  5. vim安装与配置

    vim 8.0 安装 git clone https://github.com/vim/vim.git sudo apt-get install libncurses5-dev  # vim依赖一个n ...

  6. MySQL5.7.9安装与配置优化

    一. 环境准备 1. 下载软件包 wget http://test.hexin.cn/software/mysql-5.7.9.tar.gz -P /usr/local/src/ wget http: ...

  7. CentOS6 下Vim安装和配置

    1.系统只安装了vim-minimal,执行以下命令安装另外两个组件 yum install vim-common yum install vim-enhanced 2.安装ctags yum ins ...

  8. Eclipse 环境安装和配置优化

    1.下载相应的eclipse版本.    官方下载地址:http://www.eclipse.org/downloads/    juno版本的64位下载地址:http://www.eclipse.o ...

  9. vim 安装

    Ubuntu 16.04 下 Vim安装及配置 默认已经安装了VIM-tiny linuxidc@linuxidc:~$ locate vi | grep 'vi$' |xargs ls -al lr ...

随机推荐

  1. kuangbin专题 专题九 连通图 Strongly connected HDU - 4635

    题目链接:https://vjudge.net/problem/HDU-4635 题目:有向图,给定若干个连通图,求最多还能添加几条边,添完边后,图仍然要满足 (1)是简单图,即没有重边或者自环 (2 ...

  2. cogs 2098. [SYOI 2015] Asm.Def的病毒 LCA 求两条路径是否相交

    2098. [SYOI 2015] Asm.Def的病毒 ★☆   输入文件:asm_virus.in   输出文件:asm_virus.out   简单对比时间限制:1 s   内存限制:256 M ...

  3. redis简单操作

    一.redis 基础操作 1.1.string 类型及操作 string 是最简单的类型,一个key对应一个value,string类型是二进制安全的.redis的string可以包含任何数据. 1. ...

  4. 阿里云Centos7.X 如何对外开放端口

    一句话:如果你是买的各大厂商的云服务器,去安全组配置对应需要使用到的端口就可以啦! 因为博主用的是阿里云,所以这里就只介绍下阿里云如何开放端口,按着下面三张图来操作就行嘞 这个时候有同学就说了,不通过 ...

  5. AI——第四次工业革命

    历史上发生了三次工业革命:第一次是以蒸汽机的发明为代表,改变了长久以来的棉纺织业,人类进入"蒸汽时代":第二次是以汽车的发明和电学的发展为代表,人类的活动范围和时长都极大地扩展,人 ...

  6. ORM执行原生SQL语句

    # 1.connectionfrom django.db import connection, connections cursor = connection.cursor() # cursor = ...

  7. MyBatis4——一对一、一对多关联查询

    关联查询: 一对一: 1.业务扩展类     核心:用resultType指定的类的属性包含多表查询的所有字段. 2.resultMap     通过添加属性成员建立两个类之间的连接 <!--利 ...

  8. tensorboard网络结构

    一.tensorboard网络结构 import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data ...

  9. c#数字图像处理(五)全等级直方图灰度拉伸

    灰度拉伸也属于线性点运算的一种,也可以通过上一节的程序得到.但由于它在点运算的特殊性,所以把它单独列出来进行介绍. 灰度拉伸定义 如果一幅图像的灰度值分布在全等级灰度范围内,即在0~255之间,那么它 ...

  10. 源码详解系列(七) ------ 全面讲解logback的使用和源码

    什么是logback logback 用于日志记录,可以将日志输出到控制台.文件.数据库和邮件等,相比其它所有的日志系统,logback 更快并且更小,包含了许多独特并且有用的特性. logback ...