zoukankan      html  css  js  c++  java
  • 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列模式

  • 相关阅读:
    4 Apr 18 软件开发目录 logging模块的使用 序列化(Json, Pickle) os模块
    3 Apr 18 内置函数 列表生成式与生成器表达式 模块的使用之import 模块的使用之from…import…
    2 Apr 18 三元表达式 函数递归 匿名函数 内置函数
    30 Mar 18 迭代器 生成器 面向过程的编程
    29 Mar 18 函数 有参、无参装饰器
    28 Mar 18 函数
    27 Mar 18 函数的参数
    26 Mar 18 函数介绍
    23 Mar 18 文件处理
    22 Mar 18 补充数据类型+字符编码+文件处理
  • 原文地址:https://www.cnblogs.com/chinas/p/4385193.html
Copyright © 2011-2022 走看看