配置
vim $HOME/.vimrc
syntax on#语法高亮
set nocompatible#去掉vi一致性模式
set number#显示行号
set history=50#设置命令历史记录条数
set autoindent#自动对齐
set smartindent#智能对齐
set tabstop=4#设置tab键为4空格
set shiftwidth=4#当行之间交错时使用4个空格
使用
常用命令列表
移动光标 | |
hjkl | 前下右上 |
c+f,c+b | 向下、向上移动一页 |
0,$ | 移动到一行的最前、最后 |
G,nG,gg | 移动到最后、第n、一行 |
n | 向下移动n行 |
搜索替换 | |
/word,?word | 向下、向上搜 |
n,N | 向下、向上重复 |
:n1,n2s/w1/w2/g | 替换n1-n2行间的w1为w2 |
:1,$s/w1/w2/g | 替换所有 |
复制、粘贴、删除 | |
x,X | 向后、向前删除一个字符 |
nx | 向后删除n个字符 |
dd,ndd | 删除一行、n行 |
yy,nyy | 复制一行、n行 |
p,P | 下、上一行粘贴 |
u | 撤销 |
c-r | 重做 |
. | 重复上一个动作 |
一般模式进入编辑模式 | |
i,I | 插入 |
a,A | 增加 |
o,O | 新行 |
r,R | 取代模式 |
[esc] | 退出编辑模式 |
一般模式到命令模式 | |
:w,:q,:wq,:q!,:x | 保存、退出 |
:w filename | 另存为 |
:r filename | 读入到当前文档 |
:! command | 执行命令 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
括号匹配%
常见操作
:cd /p/p1/ | 切换目录 |
:pwd | 当前工作目录 |
:ls | 当前打开的所有文件 |
:bd | 关闭当前文件 |
:o file | 打开文件 |
shift+v | 视图,用于选择文本 |
ggVGyy | 全选复制 |
ctrl+6 | 两个打开的文件间切换 |
:bn | 下一个文件 |
:bp | 上一个文件 |
b1~n | 切换至第n个打开的文件 |
分割窗口操作 | |
:sp | 水平分割窗口 |
:vsp | 垂直分割窗口 |
:close | 关闭分割窗口 |
ctrl+w+h/j/k/l | 切换至前/下/上/后的窗口 |
ctrl+ww | 一次向后切换 |
windows下设置编码
:set encoding=utf-8 #//设置编码
:language messages zh_CN.utf-8 #//解决console输出乱码
#菜单乱码
:source $VIMRUNTIME/delmenu.vim
:source $VIMRUNTIME/menu.vim
常见操作(2)
ctrl+p, ctrl+n | 自动补全(向前、向后) |
:set nobackup | 不备份 |
:set autoindent | 自动缩进 |
:set shiftwidth=4 | 设置缩进宽度为4空格 |
:set noautoindent | 不自动缩进 |
:set cindent | c风格缩进 |
:set ts=4 | 设置tab键跳4空格 |
ggVG= | 排版 |
:10,20s#^#//#g | 用//注释10到20行 |
:10,20s#^//##g | 删除10到20行的注释// |
gu, gU | 转换成小写、大写 |
:set ignorcase(ic) | 查找时忽略大小写 |
:set noignorcase(noic) | 不忽略大小写 |
= | 格式化选中内容 |
:g/^/m0 | 倒置文件内容 |
J | 合并行 |
批量注释
ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i),再插入注释符,比如"//",再按Esc,就会全部注释了
ctrl+v,进入列编辑模式,横向选中列的个数(如"//"注释符号,需要选中两列),然后按d, 就会删除注释符号
windows下为ctrl+q
批量缩进:v进入可视模式,选择要缩进的代码块,>缩进、<缩回
查找选中内容
1. v
2. h/j/k/l
3. y
4. /
5. ctrl-r
6. 0
剪贴板使用
将系统剪贴板内容粘贴进当前buffer中:在编辑模式下按shift+insert
:reg//////////查看剪贴板内容
选中文本,"+y复制到系统剪贴板,"+p将系统剪贴板内容粘贴到普通模式下的光标所在处
常见操作(3)
:E | 浏览目录 |
:bn/bp/bl/bf | 向后/向前/最后/第一个缓冲区切换 |
:He(!) | 在下(上)面分屏浏览目录 |
:Ve(!) | 在左(右)边分屏浏览目录 |
:Te | tab页浏览文件 |
gt | 下一个tab页 |
gT | 上一个tab页 |
{i}gt | 到第i个tab页 |
tabs | 查看所有tab页编号-名 |
guu | 把一行全部变成小写 |
gUU | 把一行全部变成大写 |
ga | 查看光标处字符的ascii码 |
g8 | 查看光标处字符的utf8编码 |
*/# | 查找光标处的单词 |
ctrl-o | 向后回退光标移动 |
ctrl-l | 向前追赶光标移动 |
'' | 两个单引号,跳转到光标上次停靠 |
:cw | 在分屏中显示命令结果 |
gd | 高亮显示光标处的单词 |
ctrl-w,q | 退出当前窗口 |
:edit ++enc=cp936 | buffer设为gb2312查看 |
:edit ++enc=utf-8 | buffer设为utf-8查看 |
cw | change word |
c0 | 改变当前到行首 |
c$ | 改变当前到行尾 |
z回车 | 当前行置顶 |
z. | 当前行置中 |
z- | 当前行置底 |
H/M/L | 移动光标到当前屏的上/中/下 |
回车 | 移动光标到下一行首字符 |
- | 移动光标到上一行首字符 |
^ | 移动光标到第一个非空字符 |
:resize +10 | 调整split窗口大小 |
:vertical resize -10 | 调整vertical split窗口大小 |
ci"|( | 在“”或()中输入 |
f字符 | 向后条到本行下一个字符 |
vim编辑html混合javascript格式化插件
http://www.vim.org/scripts/script.php?script_id=3081
firefox vimperator
gi | 上次输入 |
r | 刷新 |
ctrl-c | 停止刷新 |
ctrl-i | 前进 |
ctrl-o | 后退 |
d | 关闭标签页 |
u | 重新打开 |
f | 显示连接 |
c | 显示光标 |
cv | 可视化选择 |
y | 复制 |
:sav | 保存页面 |
gt/gT | 下/上tab页 |
g0/g$ | 第一/最后 |
A | 收藏/删除 |
:bmarks | 列出收藏 |
:vie | 查看源文件 |
P | 新tab页 |
zi/zo | 放大/缩小 |