VIM

VIM

目录


三种模式

  • 一般模式:打开vim就是一般模式,这个模式下基本上除了插入之外,其他事儿都能做。
  • 编辑模式:在一般模式下按下(i, I, o, O, r, R)之后会进入编辑模式,此时界面左下角会出现INSERT/REPLACE,表明可以编辑。ESC退出编辑模式。

    • i/I:i为从目前光标处插入;I为所在行的第一个非空格符处插入(左下角显示INSERT)
    • a/A:a为从光标处的下一个字符插入;A为从所在行的最后一个字符后插入(左下角显示INSERT)
    • o/O:o为所在行的下一行插入新的一行;O为所在行的上一行插入新的一行(左下角显示INSERT)
    • r/R:替换模式,r只替换光标所在的字符一次,然后就会变成一般模式;R会一直保持替换模式,直到ESC(左下角显示REPLACE)
  • 命令行模式:在一般模式下按下(: or / or ?)三个中的任意一个,就可以进入这个模式。这个模式下可以提供字符搜索,替换,行号的显示,文件的保存,以及多窗口显示等等。


常用按键

#一般模式可用的按键
G                移动到文件的最后一行
gg               移动到文件的第一行
n(Enter)         光标向下移动n行
/key             向下寻找关键字key
n                重复前一个查找
N                与n相反,与前一个查找反向
:1, $s/old/new/g 从第一行到结尾,用new替代old
x, X             x为向后删除所在处的一个字符;X为向前删除所在处的一个字符
nx               向后删除n个字符
dd               删除所在行
ndd              向下删除n行
d1G              删除所在行到第一行的所有行
dG               删除所在行到结尾的所有行
d$               删除所在处到行尾的所有字符
d0               删除所在处到行首的所有字符
yy               复制所在行
nyy              向下复制n行
y1G              复制所在行到第一行的所有行
yG               复制所在行到结尾的所有行
y$               复制所在处到行尾的所有字符
y0               复制所在处到行首的所有字符  
p, P             p为将已复制的数据粘贴到所在行的下一行; P为粘贴到上一行
u                复原上一个操作
ctrl+r           重做上一个动作
.                重复前一个操作
v                字符选择
V                行选择
ctrl+v           块选择
y                复制选择的字符
d                删除选择的字符
#命令行按钮
:w            保存文件
:w!           强制保存(不一定会成功)
:q            离开
:q!           强制离开
:wq           保存后离开
:w filename   文件另存为filename
:set number   显示行号
:set nonumber 取消行号
#多窗口
:sp filename  打开一个新窗口,sp为split
ctrl+w+↓      光标移动下一个窗口
ctrl+w+↑      光标移动到上一个窗口
ctrl+w+q      离开本窗口

环境变量设置

如果不想打开vim都要设置,可以设置~/.viminfo或者~/.vimrc

#~/.viminfo
:set number    设置行号
:set nonumber  取消行号
:set autoindent   设置自动缩排
:set noautoindent 取消自动缩排
:syntax on   设置语法显示颜色
:syntax off  取消语法显示颜色

编码问题

#文件编码
:file filename 查看文件编码
:set fileencoding[=codec] 如果有参数,则是设置,否则是查看文件编码
#编码转换,可以使用iconv
iconv -f 原本编码 -t 新编码 filename [-o newfile]
posted @ 2016-05-25 11:13  1202zhyl  阅读(139)  评论(0编辑  收藏  举报