Linux Vim

来源:互联网 发布:编译原理代码优化 编辑:程序博客网 时间:2024/06/15 22:21

一般模式

进入

在其他模式下按ESC进入

操作

移动光标

命令 解释 h 左移 j 下移 k 上移 l 右移 ^ (正则表达式)移至行首 $ (正则表达式)移至行尾 () 句首和句尾 {} 段首和段尾 G (Go)移动到这个文件的最后一行 nG 移动到这个文件的第n行(可配合:set nu) gg 移动到这个文件的第一行,相当于1G Ctrl-f forward 下一页 Ctrl-b back 上一页

查找和替换

命令 说明 /word 向下查找 ?word 向上查找 n 代表重复前一个查找的动作 N 与n刚好相反,为反向 * 向下查找当前字符 # 向上查找当前字符 g*,g# 模糊查找

替换

:[range]s/pattern/string/[c,e,g,i]

命令 说明 range 行数,例如1,5指1到5行 pattern 要匹配的字符,可以是正则表达式 string 替换后的字符 c (confirm)每次替换要询问 e 不提示error g (globe)不询问 i (ignore)不区分大小写

删除

命令 描述 x 删除字符 X 删除前面的字符 dd (delete line)删除光标所在行 ndd 删除光标所在的向下n行 dG 删除至尾部 dgg 删除至开头 d^ 删除至行首 d$ 删除至行尾

复制与粘帖

命令 描述 yy 复制整行 y^ 复制到行开头 y$ 复制到行结尾 yG 复制到文档尾部 ygg 复制到文档首部 p 在游标后粘贴 P 在游标前粘贴 ayy 讲yy复制到a缓存区,还可以是26字符的任意一个 ap 粘贴a缓存区内容

取代

命令 描述 cc 取代整行内容 c^ 取代至行首 c$ 取代至行尾

其他

命令|描述
u|undo 撤销
.|重复上一次命令
mx|设置书签

编辑模式

进入

命令 描述 i (insert)字前添加 I 行首添加 a (append)字后添加 A 行尾添加 o (open)在下添加新行 O 在上添加新行 J (Joint)将下一行链接至本行

在一般模式中输入

命令行模式

进入

在一般模式中输入: / ?

操作

:w| 保存编辑的内容
:w!|强制写入该文件,但跟你对该文件的权限有关
:q| 离开vi
:q!| 不想保存修改强制离开
:wq| 保存后离开
:x| 保存后离开

可视模式

v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴

编码问题

vim中的内置变量:
enc(encoding):vim的内部编码
fenc(fileencoding):vim解析出来的当前文件编码(有可能解析成错的哦)
fencs(fileencodings):vim解析文件时猜测的编码格式顺序列表
在打开文件的时候指定编码
vim file.txt -c “e ++enc=GB18030”
指定保存时编码格式:
:set fileencoding=utf-8
参考文献:
http://blog.csdn.net/xiajun07061225/article/details/7039413
http://blog.csdn.net/xiaolong2w/article/details/8224839
http://www.study-area.org/tips/vim/index.html
编码问题:
http://blog.csdn.net/liufei_learning/article/details/42342559