vi 和 vim

Visual editor VIsual editor iMproved

三种模式

  • 命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本
  • 插入(Insert)或编辑模式:用于修改文本
  • 扩展命令(extended command )或命令(末)行模式:保存,退出等

地址定界(待补充)

查找替换(待补充)

定制vim工作特性

配置文件: /etc/vimrc #全局配置文件 /etc/vimrc #个人配置文件

  • 行号 显示:set number,简写 set nu 取消显示:set nonumber, 简写 set nonu

  • 忽略字符的大小写 启用:set ignorecase,简写 set ic 不忽略:set noic

  • 自动缩进 启用:set autoindent,简写 set ai 禁用:set noai

  • 复制保留格式 启用:set paste 禁用:set nopaste

  • 显示Tab和换行符 ^I 和$显示 启用:set list 禁用:set nolist

  • 高亮搜索 启用:set hlsearch 禁用:set nohlsearch

  • 语法高亮 启用:syntax on 禁用:syntax offff

  • 文件格式 启用windows格式:set fifileformat=dos 启用unix格式:set fifileformat=unix 简写 set ffff=dos|unix

  • Tab 用空格代替 启用:set expandtab 默认为8个空格代替Tab 禁用:set noexpandtab 简写:set et

  • Tab用指定空格的个数代替 启用:set tabstop=# 指定#个空格代替Tab 简写:set ts=4

  • 设置文本宽度 set textwidth=65 (vim only) set wrapmargin=15

  • 设置光标所在行的标识线 启用:set cursorline,简写 set cul 禁用:set nocursorline

  • 加密 启用: set key=password 禁用: set key=

  • 了解更多 set 帮助 :help option-list :set or :set all

命令模式(待补充)

可视化模式(待补充)

多文件模式(待补充)

多窗口模式(待补充)

VIM 寄存器

有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以在同一个主机的不同会话(终端窗口)间共享

标记和宏(macro)

ma 将当前位置标记为a,26个字母均可做标记, mb 、 mc 等等 'a 跳转到a标记的位置,实用的文档内标记方法,文档中跳跃编辑时很有用 qa 录制宏 a,a为宏的名称,末行提示: recording @a q 停止录制宏 @a 执行宏 a @@ 重新执行上次执行的宏

编辑二进制文件

#以二进制方式打开文件 vim -b binaryfile #扩展命令模式下,利用xxd命令转换为可读的十六进制 :%!xxd #切换至插入模式下,编辑二进制文件 #切换至扩展命令模式下,利用xxd命令转换回二进制 :%!xxd  -r #保存退出

帮助

:help :help topic Use :q to exit help