• vim手册


    一、基础知识

    1、三种模式:

      Command mode 命令模式,用于输入命令,简单更改。
      Insert mode 插入模式,用于插入文本。
      Last line mode 末行模式,用于输入命令、视化操作、查找替换等。

    2、七种常用操作:

      输入文本 移动光标 删除文本
      替换文本 搜索文本 其它辅助操作
      保存文件, 退出编辑程序

    3、详解:

    文本:

      i (insert) 在光标前插入文本
      I 在光标所在行首插入文本
      a (append) 在光标后加入文本
      A 在光标所在行尾加入文本
      o (open) 在光标所在行下面新加一行
      O 在光标所在行上面新加一行
      ESC 退出文本输入模式, 返回命令模式

    光标:

      •← ↓ ↑ → 光标左下上右移动
      •h j k l 光标左下上右移动
      •home end pageup pagedown
      •^ 光标从当前位置移到本行行首
      •$ 光标从当前位置移到本行行尾
      •+ 光标下移一行
      •- 光标上移一行
      •空格键 光标左移
      •退回键 光标右移
      • 0 把光标移到当前行的第一个字符处。
      •$ 把光标移到当前行的最后一个字符处。
      •nG 将光标移至行号所指定的行的行首
      •) 由光标所在位置至下一个句子的第一个字元。
      •( 由光标所在位置至该句子的第一个字元。
      •{ 由光标所在位置至该段落的最后一个字元。
      •} 由光标所在位置至该段落的第一个字元。

      •H命令:该命令将光标移至屏幕首行的行首.若在H命令之前加上数字n,则将光标移至屏幕第n行的行首。
      •M命令: 该命令将光标移至屏幕显示文件的中间行的行首。
      •L命令:该命令将光标移至屏幕显示文件的底行的行首。
      •G命令:该命令将光标移至该文件的最后一列

    删除:

      •字符删除命令:x dh
      •字和行删除命令:dw db dd d$ d0 <n>dd
      •文本块删除命令:d) d( d} d{
      •相对屏幕删除:dH dM dL
      •x: 删除光标所在的文字
      •nx: 删除光标后面的n个字符
      •X: 删除光标前面的一个字符
      •nX: 删除光标前面的n个字符
      •dd: 删除光标所在行
      •ndd:删除光标所在行向下数n行

    替换:

    【替换所有的abc为bcd】
      :%s/abc/bcd/g

    【将文件中所有/usr/bin目录替换成/home】
      :%s//usr/bin//home/g

    【在每行开头加入一个单词linux】
      :%s/^/linux/g

    【在每个单词后面加上一个s】
      :%s/$*>/s/g

      •Ctrl + f向后滚一页。
      •Ctrl + d向后滚半页。
      •Ctrl + b向前滚一页。
      •Ctrl + u向前滚半页。
      •Ctrl + e屏幕向下滚一行。
      •Ctrl + y屏幕项上滚一行。

    tips(在命令模式下):
    删除整行:dd或ndd(如5dd就是删除光标下面的5行内容)
    粘贴:小p(粘贴到光标的后面)大P(粘贴到光标的前面)
    复制:yy或nyy(如3yy就是复制此光标下的3行内容)
    撤消与重复:u(撤消前一条命令);“.”(重复最后一条命令)

      •命令方式下输入yy或nyy,n是一个具体的整数:复制行
      •将光标移到要复制的地方,按p键粘贴。
      •u 恢复最后一个指令之前的结果。
      •U 恢复光标该行之所有改变。

    末行模式:

      •:q 系统退出vi返回到shell。在用此命令时,若编辑的文件没有被保存,则vi在窗口的最末行给出提示信息。
      •:q! vi放弃所作修改而直接退到shell下。
      •:wq 先保存文件,然后再退出vi返回到shell。强制更新文件的修改时间
      •:x 该命令的功能与命令模式下的ZZ命令功能相同。写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

    vim练习

    vim配置

    vim分屏

    总结起来,基本都是ctrl+w然后加上某一个按键字母,触发一个功能。
    (1)在shell里打开几个文件并且分屏:
      vim -On file1 file2 ...
      vim -on file1 file2 ...

    大O表示垂直分割(vertical),小o表示水平分割(默认horizontal),后面的n表示分几个屏,默认按后面要分割的文件数来决定分几个屏。
    (2)在vim里打开一个分屏:
      创建空白分屏:
      :new
      打开任意文件:
      :vsplit(:vsp) filename
      :sp(split) filename
      打开当前文件:
      ctrl+w 和 s(split)
      ctrl+w 和 v(vsplit)

    (3)关闭一个分屏:
      :only 或者 ctrl+w 和 o取消其它分屏,只保留当前分屏
      ctrl+w 和 c(close)
      只剩最后一个分屏以后推出:
      ctrl+w 和 q(quit)
    (4)移动光标,也就是切换分屏;也可以移动分屏,比如将左分屏移动到右边。
      ctrl+w 和 w(各种切换,只有两个分屏的时候还是比较方便的)
      ctrl+w 和 h(H) 左
      ctrl+w 和 j(J) 下
      ctrl+w 和 k(K) 上
      ctrl+w 和 l(L) 右
    (5)最后就是改变分屏尺寸的操作了。
      ctrl+w 和 < 左
      ctrl+w 和 > 右
      ctrl+w 和 + 上
      ctrl+w 和 - 下
      ctrl+w 和 = 恢复均等

    参考:vim分屏功能总结 - manziluo http://www.cnblogs.com/manziluo/p/5789700.html

    vim列模式

  • 相关阅读:
    LeetCode0350.两个数组的交集 II
    LeetCode0055.跳跃游戏
    LeetCode0739.每日温度
    LeetCode面试题46.把数字翻译成字符串
    LeetCode0128.最长连续序列
    LeetCode面试题29.顺时针打印矩阵
    LeetCode0238.除自身以外数组的乘积
    2020软件工程最后一次作业
    如何防止XSS攻击
    需求规格说明书
  • 原文地址:https://www.cnblogs.com/chinas/p/4385193.html
Copyright © 2020-2023  润新知