VI 编辑器

来源:互联网 发布:mac 查找文件路径 编辑:程序博客网 时间:2024/05/29 04:41
  • 快捷键
按键 说明 h 光标左移 j 光标下移 k 光标上移 l 光标右移 都可加数字表示位移量,比如10h表示向前移动10个字符 ctrl + f 向下移动一页 ctrl + b 向上移动一页 ctrl + d 向下移动半页 ctrl + u 向上移动半页 +加号 光标移动到非空格的下一行 -减号 光标移动到非空格的上一行 n 右移n个字符 0 移动到本行最前面 $ 移动到本行最后面 H 屏幕最上方那行的第一个字符 M 屏幕中间那行的第一个字符 L 屏幕最下方那行的第一个字符 G 文件最后一行 nG 文件第n行 gg 文件第一行 N回车 向下移动N行 /word 向下查找word ?word 向上查找word :n1,n2s/word1/word2/g 替换第n1行到n2行之间的word1为word2 :1,$s/word1/word2/g 替换全部 :1,$s/word1/word2/gc 替换全部,需要确认 x,X x向后删除,X向前删除 nx 删除n个字符 dd 删除本行 ndd 删除光标所在行向下的n行 d1G 删除光标所在到第1行的数据 dG 删除光标所在到最后1行的数据 d$ 删除光标所在到该行的最后一个字符 d0 删除光标所在到该行的第一个字符 yy 复制一行 nyy y1G yG y0 y$ p,P 粘贴 J 将光标所在行和下一行的数据结合成同一行 c 重复删除多个数据,例如10cj表示向下删除10行 u 复原前一个操作 ctrl r 重做上一个操作 . 重复前一个操作 i,I i为从光标所在开始插入,I为从本行第一个非空格出开始插入 a,A a为从光标所在的下一个字符开始插入,A为从光标所在的最后一个字符开始插入 o,O o为下一行开始插入,O为上一行开始插入 r,R r只替换光标所在的那个字符一次;R会一直替换,直到按下ESC :w :w! :q :q! :wq :wq! ZZ :w [filename] 另存 :r [filename] 将filename文件读入光标所在行 :n1,n2,w [filename] 将n1到n2行保存成文件filename ! command 暂时离开vi到命令行模式执行command :set nu 显示行号 :set nonu 取消行号
  • VIM块选
按键 说明 v 字符选择,将光标经过的地方反白 V 行选择,将光标经过的行反白 ctrl v 块选择 y 复制 d 删除
  • 多文件编辑
    vim file1 file2 file3…
按键 说明 :n 编辑下一个文件 :N 编辑上一个文件 :files 列出目前打开的所有文件
  • 多窗口功能
    在命令行模式输入:sp{filename}即可以在新的分割窗口打开文件filename,filename为空,表示在新的分割窗口打开当前文件
按键 说明 :sp{filename} 打开新窗口 ctrl w j(或向下箭头) 同时按住ctrl和w,松开后再按j,移动到下一个窗口 ctrl w k(或向上箭头) 上一个窗口 ctrl w q 关闭当前窗口
  • 环境参数设置
命令 功能 :set nu 显示行号 :set nonu 取消行号 :set hlsearch 高亮查找到的单词 :set nohlsearch :set autoindent 自动缩排 :set noautoindene :set backup 自动保存备份 :set ruler 显示右下角状态栏 :set showmode 显示左下角状态栏 :set backspace=(012) 表示编辑模式下可以删除的字符,2表示任何字符都可以删除,0或1表示仅能删除新输入的字符 :set all 显示所有设置 :set 显示与系统默认不一样的设置 :syntax on 语法高亮 :syntax off :set bg=dark :set bg=light 设置颜色色调
  • 其它命令
dos2UNIX [-kn] file [newfile]UNIX2dos [-kn] file [newfile]//换行符转换//-k 保留文件的mtime//-n 保留旧文件,将转换内容输出到新文件iconv --listiconv -f oldcode -t newcode filename [-o newfile]//编码转换
  • 配置文件
#    ~/.vimrcset autoindentset hlsearchset rulerset showmodesyntax onset nu#记住上一次退出时的位置if has("autocmd")   au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")       \| exe "normal g'\"" | endifendif
0 0
原创粉丝点击