本文主要记录日常工作中感觉比较重要的命令,如果要从零开始学习,可以再linux命令行中输入vimtutor, 会有一个简单的教学
操作辅助相关:
显示行号:set number(set nu) 不显示行号 set nonumber(set nonu)
q: 或者 q/显示历史命令
set cursorline 可以在当前光标所在行显示一条直线
设置.vimrc立刻生效 :source $HOME/.vimrc (这个路径即修改的vimrc所在的路径不是绝对的, .vimrc这个文件很有用,设置的命令会在所有用vim打开的文件中生效,比如你可以设置tab键代表的空格数 :set ts=3 即代表的是三个空格。一般在自己的用户家目录下新建一个作为自己的私人设置)
代码对齐: ggG=
:sp 文件路径 在当前窗口,以分屏方式在打开一个窗口
:e 刷新文件
搜索
/ + 规则 这个规则是正则表达式可以完成复杂的条件搜索也可以直接搜简单字符串
vim精确搜索
/<你要搜索的>
# 搜索当前光标后的单词(快捷搜索)
搜索替换
:1,$s/搜索字符/替换字符/g 1代表首行, $代表的是末行,你也可以指定其他的数值作为首末行
编辑
1.移动和定位
移动:h,j,k,l 左下上右 移动一行, Nj向下移动n行
gg 文件首行 G文件尾行
:n 跳到第n行
H、M、L:光标分别跳转到可视区域的最上面、中间、最下面。
Ctrl+D、Ctrl+U:有时,需要看的文本不在可视区域,通过这些组合进行上下翻页。
定位:
定位最后编辑的地方: '.
行内定位:home,end(行首和行末)
f+x 定位到当前光标后的x字符
F+x 定位到当前光标前的x字符 (这个方法可以配合复制,删除等,此时光标不会移动。例如yfx, 即为复制当前光标到下一个x字符之间的字符)
当定位后,需要继续搜索,按‘;’即可继续搜索,方便在行内定位和移动
2.插入
尽可能的利用A、a、o、O来进入插入模式,而不是每次通过i进入插入模式
:o(O) 在下(上)一行插入空行,并进入编辑模式
:a(A) 进入插入模式,在当前光标后插入字符(光标移动到行末进入插入模式)
:i(I) 进入插入模式,在当前光标前插入字符(光标移到行首进入插入模式)
3.删除和复制
行:dd 删除一行 Ndd 删除N行 (复制也有nyy这种用法) :1,Nd 删除1,n行(这个方法可以用于复制,例如 1,Ny)
cnG 删除n行
cG 删除当前行及以下的所有行
行内:C 删除光标及光标后的所有字符 cnl 删除光标后n个字符
单词:ya" 复制整个字符串,包括双引号。
dw 删除到下一个单词开头
de 删除到单词末尾
dE 删除到单词末尾包括标点符号在内
db 删除到前一个单词
dB 删除到前一个单词包括标点符号在内
daB 删除花括号以及花括号中的所有内容
dab 删除括号里面的全部内容
4.选择
visual 模式进行选择:
有三种模式:
v 字符可视化模式, 文本选择是以字符为单位的
V 行可视化模式, 文本选择是以行为单位的
ctrl+v 块可视化模式, 文本选择是以块为单位的
应用多行注释:
ctrl+v 进入块可视化模式,选中全部行的第一列, shift+i在首行插入注释符号即可
撤销操作:
u 撤销上一步操作
ctrl+r 重做
Vim的分屏: 竖直分屏vsp, 水平分屏:sp
快速替换单词
yiw 复制单词
viwp 选中单词并替换
以下命令可以对标点内的内容进行操作。
ci'、ci"、ci(、ci[、ci{、ci< - 分别更改这些配对标点符号中的文本内容
di'、di"、di(或dib、di[、di{或diB、di< - 分别删除这些配对标点符号中的文本内容
yi'、yi"、yi(、yi[、yi{、yi< - 分别复制这些配对标点符号中的文本内容
vi'、vi"、vi(、vi[、vi{、vi< - 分别选中这些配对标点符号中的文本内容
把i改成a标签连符号一起操作