移动
b 向前移动一个单词
W 移动到空格后的文字
B 移动到空格前的文字
^ 移动到行首(不包括空格)
G 移动到文件尾
} 向下段落移动
{ 向上段落移动
f + 字符 移动到改行下一个匹配到该字符的位置
F + 字符 移动到改行上一个匹配到该字符的位置
t + 字符 移动到改行下一个匹配到该字符的前一个字符的位置
T + 字符 移动到改行上一个匹配到该字符的前一个字符的位置
ctrl-f 下一页 f 就是`forword`
ctrl-b 上一页 b 就是`backward`
ctrl-d 向后滚动半屏
M 移动到屏幕中间的位置
H 移动到屏幕顶部
L 移动到底部
gj 与j不同在段落中下移一行,而不是下一道下一个段落。
编辑
db 删除前一个单词
cw 删除单词并进入插入模式
cc 删除整行并进入插入模式
ct+字符 删除光标所在位置到字符之间的所有字符
ci" 删除前后双引号之间的字符(花括号等也可以这样使用)
ca" 同上,双引号也会删除
viw 选中一个单词
vaw 选中一个单词和该单词后面的一个空格
diw 删除一个单词
daw 删除一个单词和该单词后面的一个空格
vip 选中整段
vap 选中整段和该段后面一个换行
gUis 使当前句子中的文字变为大写
das 删除当前句子
vit 选中Tag中的文字,如<\p>What's up?</\p>
vat 选中Tag中的文字和Tag本身
cit 选中Tag中的文字,并修改
vi(/) 选中括号中的内容,同vib
va(/) 选中括号和括号中的内容,同vab
viB 选中一个大嵌套结构
剪切、拷贝、粘贴
P 粘贴文字(会从当前光标的前一个位置开始粘贴)
yw 复制单词
y0 拷贝光标位置至行首的字符
搜索
/**\c** 搜索的时候忽略大小写
/\n\n发现空行
N 前一个搜索到的字符
:set incsearch 输入字符的时候即刻搜索
:set hlsearch 开启高亮显示
:nohlsearch 去掉高亮显示
:noh 去掉高亮显示(简写)
. 重复上一个命令
\* 移动到光标所在单词的下一个同一个单词处
\# 移动到光标所在单词的上一个同一个单词处
% 选择对应匹配的Tag
替换
:s/Ember/Amber 将当前行单词Ember替换成Amber
:%s/Ember/Amber 将第一个匹配到的Ember替换成Amber
:%s/Ember/Amber/g 全局替换
运行终端命令
:!date 在终端运行date命令
:read !date 从终端读取日期
:r !curl --silent https://raw.github.com/gist/xxxx 读取curl获取的内容
多窗口和标签
:e filepath 打开filepath文件
:b# 在打开的文件中切换
:vs 垂直分割窗口(可以直接加文件路径)
:sp 水平分割窗口
ctrl+wh/j/k/l 编辑上下左右的文件
:sb2 分割窗口并且打开第二个开启的文件
:q 关闭分割的窗口
:tabedit app/controller/xxx.sh 以标签页方式打开文件
gt 切换到后一个标签
gT 切换到前一个标签
:table filepath 打开一个文件
缩进
\>\> 缩进一个Tab
set list 显示Tab(^)、回车($)等特殊字符。
set nolist 不显示以上字符
set expandtab 将Tab替换为空格。
set noexpandtab 取消用空格替换Tab。
set shiftwidth=3 按>>时缩进三个空格
V 行选择模式,可以同时选中多行进行缩进,在此模式中,按o和O可以在所选的区域中移动光标所在的顶点。
Ctrl+v 列选择模式,在此模式中,按o和O可以在所选的区域中移动光标所在的顶点。
set smartindent 设置自动缩进
set sts=3 设置缩进空格数
ctrl+t 向前缩进
ctrl+d 向后缩进
代码折叠
zs5j 折叠5行代码
zo 展开折叠的代码
zc 折叠代码
zd 删除折叠
zf% 折叠匹配行的代码,比如在花括号上执行该命令
set fdm=syntax 根据语法自动折叠代码
zC 折叠所有代码
ZO 打开所有折叠了的代码
set foldmarker=test,test 设置缩进代码为test
其他
:set ft? 查看文件类型
:so ~/.vimrc 重新加载配置文件
:set warp 设置换
:set linebreak 换号的时候不拆分单词
:set showbreak=>\\ 将换行符显示为'> '
:set scrolloff=5 距离屏幕5行的时候停止scroll
:set undofile 设置undofile,该文件记录你所编辑的文件变化,在你保存编辑的文件再打开之后仍然可以undo。
:set gdefault 设置默认g标志,即s/this/THIS/g的时候不用打g
:set laststatus=2 设置始终显示状态行。
:set statusline=%f\ \ line:%l/%L\ col:%c\ %p%%\ %y
set ai 自动缩进
set bs = 2 在insert模式下用退格键删除
set showmatch 代码匹配
set laststatus = 2 总是显示状态行
set expandtab 设置tab和缩进空格数
set shiftwidth = 4
set tabstop = 4
set cursorline 为光标所在行加下划线
set autoread 文件在Vim之外修改过,自动重新读入
set ignorecase 检索时忽略大小写
set fileencodings = uft-8, gbk 使用 utf-8或 gbk打开文件
set hls 检索时高亮显示匹配项
set helplang = cn 将帮助系统设置为中文
set number 显示行号
syntax on 开启语法高亮
syntax enable 开启语法高亮
set syntax=apache 设置语法语言
colorscheme desert 设置主题
set ft=javascript 设置文件格式为javascript
上一篇:
Vimium扩展让chrome支持vim快捷键下一篇:
termux配置vim代码自动补全