vim编辑器
vi : visual Inertface 可视化接口
vim : vi improved 扩展版
语法着色

模式化编辑器:
  编辑模式(命令模式): 默认模式
  输入模式:
  末行模式:
    等待输入命令
    10d 删除第十行
    10,20d
    set nu 显示行号
    ! ls /etc 不用退出文件输入 系统shell命令

模式转换
编辑--> 输入

      小写
      i:在当前光标位置前面输入
      a:在当前光标位置后面输入
      o:在当前光标下一行新建一行 输入内容
      大写
      I 行首
      A 行尾
      O 上一行新建一行

输入--> 编辑   ESC

编辑-->末行: 必须得从编辑模式进入 只需要输入:冒号

末行--> 编辑: esc esc
                 

功能介绍:

一、 打开文件
    vim +12 光标到12行
    vim + 打开光标到末尾
    vim +/PATERN 打开文件定位到第一次匹配的位置

二、关闭文件
末行模式关闭文件 : wq ==:x
编辑模式关闭文件 : 大写ZZ 保存退出 就是 shift+zz

三、移动光标(编辑模式)
1. 逐个字符移动(手的位置)
  h
  l
  j 下
  k 上

  8l 向左移动8个字符
2.逐单词移动
  w 移到下一个单词的词首
  e 移到当前或者下一个单词的词尾
  b 移到当前或者前一个单词的词尾
  3w 向后跳3个单词
3.行内跳转
  0(零) 绝对行首
  ^ 行首的第一个非空白字符
  $ 绝对行尾
4.行间跳转
  #G 跳转至第#行
  G 跳转到最后一行
  末行模式下: 直接给行号回车

四、翻屏
  crtl+f:向下翻一屏
  crtl+b:向上翻一屏
  crtl+d:向下翻半屏
  crtl+u:向上翻半屏
五、删除单个字符
#x 删除 光标所在处后面#个字符 x删除单个

六、删除命令:d
d命令和跳转命令组合使用 3dw
  #dw, #de #db
  dd: 删除当前光标所在行 3dd
  #dd 删除包括当前光标所在行在内的#行
末行模式下:
  starAdd,EndAdd . , +5 表示删除当前行到后面五行
  支持相对表示法:
  . 当前行
  $ 最后行 $-3
  +# 向下的#行
七、粘贴命令:p

删除的东西不会立即删除,删除的内容保存在缓冲区中
最后一次删除的内容 可以粘贴到指定地区 可以粘贴n次
小p: 如果删除或复制为整行,则粘贴至所在行的下方;非整行,则粘贴至所在行的下方
大P: 相反

八、复制命令 y
用法同d

九、先删除内容,再转换为输入模式
修改
c: 用法同d

十、替换单个字符
r
R 替换模式

十一、撤销编辑undo
u:撤销前一次操作 连续使用
只能在缓存中保存50次
3u 至倒数第三次
后悔撤销操作了,就有Crtl+r 撤销的撤销,还原最近一次的撤销操作
类似于window下的crtl+z Crtl+y
十二、重复前一次编辑操作
  点命令 .
十三、可视化操作
v:按字符选取
V: 矩形选取(整行选中)

十四、查找
/PATTERN 往后查找
?PATTERN 向前查找
n 下一个
N 上一个

十五、查找并替换
用法同set
在末行模式下使用s命令
startadd,endadd @ pattern @string @gi
: .,$-1 s/hello/HELLO @g
1,$ == % 表示全文

十六、使用vim打开多个文件
多个文件间复制粘贴
vim file1 file2 file3
:next 切换至前一个文件
:prev 切换至前一个文件
:last 切换至最后一个
:first切换至第一个文件
:qa 全部退出 q只能退出当前

十七、分屏显示一个文件(word里面的窗口拆分)

Crtl+w,s :水平拆分窗口
Crtl+w,v :垂直拆分窗口
在窗口间切换
Crtl+w,APROW(方向键) 或者两次Crtl+w也能向下一个切换
:qa 关闭所有窗口

十八、分窗口多个文件
vim -o file1 file2 水平分割
vim -O file1 file2 垂直分割

切换 也是 crtl+w

十九、将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:addr1,addr2 w /path/to/somewhere

二十、将 另外一个文件的内容填充在当前文件中
:r /root/inittal
直接在后面添加另一个文件的内容

二十一、和shell交互
:!commen
然后回车后 会再返回到vi编辑界面

二十二、高级话题
1、显示或取消行号
:set nu
:set nonu

2.显示忽略或区分字符大小写 :set ignorecase
:set ic
: set noic

3.设定自动缩进 :set autoindent
写脚本编程的时候很重要
:set ai
:set noai
4、查找到的文本高亮显示 或者取消掉
:set hlsearch
:set nohlsearch

5.语法高亮
:syntax on
:syntax off

二十三、配置文件
/etc/vimrc
单用户家目录下 自己新建.vimrc
~/.vimrc

vim 进程强行被退出 网络断开的时候 经常会报错
vim -r inittab
file.swp 文件要手动删掉 备份文件 rm -f .inittab.swp

If this is the case, use ":recover" or "vim -r inittab"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".inittab.swp"

VIM编辑器常用功能整理笔记的更多相关文章

  1. vim编辑器——常用操作整理

    注意:以下的操作都是在命令状态下进行的,不要进入插入状态了.参考这里 1.删除 dd       删除一行 ndd    删除以当前行开始的n行dw    删除以当前字符开始的一个字符ndw   删除 ...

  2. vim程序编辑器---常用操作整理

    vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set  nu 文件显示行数 :set  non ...

  3. Linux vim编辑器常用命令

    Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器 常用的vim命令如下图 补充: num+命令 对命令执行num次,如  5dd:剪切一行 * 5  即剪切5行,其它如此 /text   ...

  4. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  5. Vim 命令常用功能详解

    Vim编辑器 文本编辑器 , 字处理器ASCIIvi:Visual Interface vim :VI iMproved 全屏编辑器,模式化编辑器vim 模式:编辑模式(命令模式)输入模式末行模式 模 ...

  6. Linux学习笔记之八————vim编辑器常用命令总结

    <1>从命令行模式到插入模式 i  :在光标前插入 a :在光标后插入 I  :在光标所处在的行的行首 A :在光标所处在的行的末尾 o  :在光标所处在的行的下一行 行首 O :在光标所 ...

  7. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

  8. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  9. Apache运维中常用功能配置笔记梳理

    Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维 ...

随机推荐

  1. Google Protocol Buffer 的编码方式

    Google Protocol Buffer 使用到了两种编码方式:Varints 和 zigzag. 一 Varints 编码 每个 byte 只用 7bit 表示数字,最高位 bit作为标志位,如 ...

  2. 解决wamp mysql数据库出现乱码的问题。

    一般的乱码情况: 如果在控制台上出现這样的乱码,一般在phpmysqladmin上也会出现乱码,因为他们都一样 一个在控制台出现,一个在页面出现. 首先在mysql.exe上输出 mysql>S ...

  3. DNS协议 实践

    根据DNS协议发送UDP请求,然后获取IP地址 头文件: #ifndef __DNS__ #define __DNS__ #include <stdio.h> #include <s ...

  4. 复习下 AJAX

    什么是AJAx:Asynchronous Javascript and XML中文意思:异步JavaScript 和XML批一种创建交互式网页应用的网页开发技术.AJAX优点1.Ajax 在本质上是一 ...

  5. java中byte转换int时为何与0xff进行与运算

    在剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) {  String ret = "";  for (int ...

  6. 【Hibernate 7】浅谈Hibernate的缓存机制

    一.Hibernate缓存机制简介 对于Hibernate本身来说,它的缓存主要包括三部分:session缓存(一级缓存).二级缓存.查询缓存. 1.1,session缓存 随着session的关闭而 ...

  7. Compass是什么

    Compass是一个强大的Sass框架,他的设计目标是顺畅.搞笑地装扮互联网,使用它的人可以写出可维护性更高的样式表. Compass由三个主要部分组成:混混合器和实用工具类库,能够集成到应用开发环境 ...

  8. seafile

    ./setup-seafile-mysql.shChecking python on this machine ...  Checking python module: setuptools ... ...

  9. 安装Ecshop首页出现报错:Only variables should be passed by referen

    出现下面这就话: Strict Standards: Only variables should be passed by reference in E:\Tools\ECShop_V2.7.3_UT ...

  10. Loadrunner:集合点(Rendezvous)

    集合点:等到特定的用户数后再一起执行某个操作,比如一起登录.一起发信,一般情况下使用不到集合点,不过,订票系统或者促销类需要用到,比如说某个促销品的促销时间在8点到8点30,这样的话,就可能出现在8点 ...