使用格式


vim [option] /path/to/somefile ...

option:

  -o水平分割

  -O垂直分割

  +打开后在最后一行

  +Num打开后在地Num行,加号与Num之间不能有空格

编辑模式-->输入模式


  i光标当前位置输入

  a光标当前位置后一个字符输入

  I光标所在行的行首输入

  -A光标所在行的行尾输入

  o在光标所在位置下面添加新的一行并输入

  O在光标所在位置上面添加新的一行并输入

  C删除光标当前字符至行末并输入

  cc删除光标当前行并输入

末行模式


退出:

  q退出不保存,缓存区未改变时,即使恢复打开时的样子,缓存区改变了

  q!退出不保存,在缓存区改变时

  wq退出并保存

  x退出并保存

  qall qall! wqall xall打开多个文件时使,含义同上

非分割打开时光标文件间移动:

  next  prev  first  last

范围定界

  .当前行  $末行

    .,$-1 d删除当前行至倒数第二行

窗口属性定义

set nu显示行号           set nonu

set ai自动缩进         set noai

set ic查找不区分字符大小写   set noic

set sm显示对应括号       set nosm

syntax on语法高亮        syntax off

set hlsearch搜索高亮       set nohlsearch

编辑模式


退出:

  ZZ保存并退出,连按两个大写Z键

光标移动

  单个字符移动

    h  j  k  l  对应左、下、上、右移动

  行内移动

    0绝对行首,光标定位至第一个字符上,包括空格制表符

    ^光标定位至第一个非空白字符上

    $光标定位至最后一个字符上,包括空格制表符

  行间跳转

    G行尾  g行首  Num+GorNum+gg跳转至第Num行

  分割打开时光标文件间移动:

    Ctrl+w+{↑|↓|←|→}对应水平/垂直分割光标跳转

替换

  r光标所在字符替换,替换后还是编辑模式

  Num+rr光标所在字符及后面共Num个字符替换

删除,其实相当于剪切

  x删除光标当前字符

  Num+x删除光标当前字符和后面字符,共Num个字符

  d删除当前行,但并不马上删除

  dd删除当前行,马上删除

  Num+dd删除从光标所在行数向后共Num行

复制

  yy复制当前行

  Num+yy复制当前行至后面共Num行

黏贴

  复制或删除的整行

    p小写,当前行的下方

    P大写,当前行的上方

  复制或删除的非整行

    p小写,光标所在字符后面黏贴

    P大写,光标所在字符前面黏贴

撤销

  u撤销此前一次操作

  Num+u撤销此前Num次操作,默认最多50次,可设置

选择

  v以字符为单位选择,定位至光标所在字符前面字符

  V以行为单位选择

  Ctrl+v块选择,挺神奇的

配置文件


全局配置文件/etc/vimrc

用户配置文件~/.vimrc若没有可自己创建

set number " 显示行号
set tabstop=4 " 设定 tab 长度为 4

实现Ctrl+s保存:

  http://www.cnblogs.com/wbtcookie/p/4572385.html

最新文章

  1. linux通过挂载系统光盘搭建本地yum仓库的方法
  2. ubuntu下 编译安装swftools
  3. Mac上安装django
  4. OpenVPN 通过服务器上网
  5. Hadoop版本变迁
  6. JS运动基础
  7. OpenCV 2.4.10 Linux Qt Conifguration
  8. $(document).ready() 与 window.onload的区别
  9. 三味书屋 bbb
  10. Joson的简单用法
  11. jtree(选择框)
  12. 使用 ItextSharp HTML生成Pdf(C#)
  13. 希尔排序(shell‘ sort)
  14. Gdi绘图
  15. 微信小程序 fixed 解决 textarea 的 placeholder 不固定问题
  16. git commit命令
  17. sublime_text3代码自动补全
  18. Python - 判断list是否为空
  19. Qt__事件处理机制
  20. 知乎改版api接口之scrapy自动登陆

热门文章

  1. Linux下彻底删除安装的rpm包
  2. centos7卸载mariadb安装mysql
  3. C++中数组作为形参的方法
  4. c++中的#include "stdafx.h"
  5. 达梦产品技术支持培训-day6-DM性能诊断与优化
  6. kubernetes-集群架构与组件
  7. javascript 数据类型判断总结
  8. 2016-12-04---tiny412平台下的iconv库的移植问题
  9. Idea 配置codeTemplate
  10. 如何给LG gram写一个Linux下的驱动?