2021年10月22日
《献给阿尔吉侬的花束》很好看,还没看完,看完写个读后感好了。
目录
目标
1.Vim的三种工作模式
2.Vim的基本命令
Vim介绍
Vim由荷兰Bram Moolenaar开发,遵守GPL开源协议。功能十分强大,几乎能够编辑现在的所有文件,只用命令,不用鼠标。它的三种模式及其转换如下:
相关命令
设置Vim的工作环境
:set autoindent 自动缩进
:set nu 显示行号
:syntax enable 语法高亮显示
:set wrap 折行显示
:set hlsearch 高亮显示匹配的单词
:set no* 取消设置
:help 获取帮助信息
进入插入模式(命令模式下)
vi/vim filename 打开文件,没有则创建文件
i 插入模式
I 跳到光标所在行行首并进入插入模式
a 跳到光标后一个位置,并进入插入模式
A 跳到光标所在行行尾,并进入插入模式
O 在当前行上方,插入空行,并进入插入模式
o 在当前行下方插入空行,进入插入模式
C 删除光标到句末的全部字符,进入插入模式
移动光标(命令模式下)
h 向左移动
j 向下移动
k 向上移动
l 向右移动
Ctrl+F 向上翻页
Ctrl+B 向下翻页
% 跳到匹配当前光标所在位置的括号的相应匹配括号处
$ 跳到光标所在行的句尾
^ 跳到光标所在行的句首
gg 跳到文档第一行
GG 跳到文档最后一行
[num]G 跳到对应行号
'' 跳到上一次位置(两个单引号)
m<某个字母> 增加一个标签,标签名字为该字母
'<某个字母标签> 跳到已添加的标签处
查找和替换(命令模式下)
/str 向下查找内容为str的字符串,n 下一个,N上一个
?str 向上查找内容为str的字符串
:g/old1/s//new3/g 查找old1,并全部替换为new3
:g/old1/s//new3/gc 查找old1,并全部替换为new3,每个替换之前都要经过确认
:10,40g/abs/s//123/g 10至40行的abc全部替换为123
注:如果要替换的字符包含/,则需要使用转义字符\在前
存盘和退出(命令模式下)
:x 存盘并退出
:q! 不存盘强制退出
:w 存盘不退出
:wq 存盘并退出
:w newfile.txt 另存为newfile.txt
Ctrl+Z 将Vim切换至后台,fg切换回来
复制粘贴与删除(命令模式下)
dd 删除光标所在行,并同时做了复制
9dd 删除光标及光标以下9行
d'<标签> 删除光标至该标签间的所有行
x 删除光标所在的一个字符
dw 删除一个单词
D/shift+d 删除光标到行尾的全部字符
yy 复制一行
5yy 复制光标及光标以下5行
''a8yy 复制光标及光标以下8行到命名为a的寄存器中
$ y 复制光标至行尾的字符
p 将复制或删除的内容粘贴至光标下方
P 将复制或删除的内容粘贴至光标上方
''bp 把命名寄存器b中的内容粘贴到当前行的下方
''bp 把命名寄存器b中的内容粘贴到当前行的上方
v 进入选中状态,移动hjkl进行选中
y 复制v状态下选中的的内容
编辑命令(命令模式下)
rD 将光标所在字符替换为D
J 将当前位置下一行拼接到本行末尾
cc或者S 替换一行
cw 替换一个单词
u 撤销之前的操作
Ctrl+R 重做(效果与u相反)
. 重复上一次操作
~ 字母大小写转换
>> 右移一个tab
<< 左移一个tab
== 与上行同缩进
gg = G 按缩进格式进行全文整理,尤其适合整理程序源代码
多文件编辑(命令模式下)
vim file1 file2 file3
同时整理三个文件(:n 切换到下一个,":rew"跳回到第一个)
vim -o file1 file2
把整个屏幕分割为两个编辑窗口
:e abc.txt
在vim窗口临时编辑abc.txt(Ctrl+^ 切换到原始文件)
:[n]split file2 水平分屏,新屏幕n行
:vsplit file.txt 纵向分屏
:tabedit file3 新建一个分页,在该分页编辑file3
gt 跳到下一个页
gT 跳到上一个页
:close 关闭当前页或当前窗口
:only 关闭其它所有窗口,只留下当前窗口
Ctrl+W W 窗口之间切换
Ctrl+W + 增加水平窗口行数
Ctrl+W - 减少水平窗口行数
10Ctrl+W_ 当前窗口调整到10行
Ctrl+W h|j|k|l 在各个窗口之间移动光标
:qall! 强制退出所有页面及窗口
:xall 全部存盘并退出
:wall 全部存盘
总结
没有天赋,勤学苦练。